Я использую JAX-WS для создания веб-службы, а затем перехожу по предоставленному URL-адресу, чтобы просмотреть сгенерированные файлы WSDL и XSD для моих представленных моделей.
Схема xs: определяет пространства имен, которые используютсядочерний (импортированный) xsd-файл, но для основного xsd некоторые не используются в текущем файле!
Например:
<xs:schema xmlns:tns="http://targetnamespace"
xmlns:ns3="http://namespace3"
xmlns:ns2="http://namespace2"
xmlns:ns1="http://namespace1"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="1.0" targetNamespace="target">
<xs:import namespace="http://namespace3" schemaLocation="http://localhost....?xsd=3"/>
<xs:import namespace="http://namespace2" schemaLocation="http://localhost....?xsd=2"/>
<xs:import namespace="http://namespace1" schemaLocation="http://localhost....?xsd=1"/>
...
rest of XSD file
...
ns1 и ns2 вообще не используются в текущем файле XSD, но, конечно, используются в файлах xsd = 1 и xsd = 2 соответственно.
Мне было интересно, почему родительский XSD-файл содержит эти импорта и могу ли я контролировать их существование.