давайте скажем я ниже standard.xsd
файла кусок кода,Запросы похожие на расширение <complexType> из одного XSD другому
<xs:complexType name="StdBasicTags">
<xs:sequence>
<xs:element name="Name" type="xs:string" nillable="true">
<xs:annotation>
<xs:documentation>Name</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
Теперь у меня есть еще один файл XSD, который включает все выше файла и добавляет некоторый дополнительный элемент выше ComplexType StdBasicTags
имя файла fullStandard.xsd
и так я продлил StdBasicTags
выглядит следующим образом:
<xs:include schemaLocation="standard.xsd"/>
........
........
<xs:complexType name="FullStdBasicTags">
<xs:complexContent>
<xs:extension base="StdBasicTags">
<xs:sequence>
<xs:element name="Surname" type="xs:string">
<xs:annotation>
<xs:documentation>Last name</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
я следующие запросы,
Я использую лицензию Altova XMLSpy инструмент для создания образца XML для fullStandard.xsd файла, но я могу видеть только
Name
элемент, а неSurname
элемент, как ожидалось. Может ли кто-нибудь сказать, какова возможная причина этого, что мне не хватает?Мне нужно указать другое имя
FullStdBasicTags
для расширенияStdBasicTags
и добавления нового элемента. В этом случае, что будет результатом полного финального файла XML? Идея состоит в том, чтобы иметь какName
, так иSurname
под одним и тем же родительским комплексом. ТипStdBasicTags
.И, наконец, что-то не так с архитектурой/выходом, которую я ожидаю?
Примечание ** и файлы становятся правильно проверить. Также идея заключается в достижении того, что я только что упомянул, без внесения каких-либо изменений в файл
standard.xsd
.
** ОБНОВЛЕНИЕ Я удивлен, что до сих пор у меня не было никаких предложений. В то же время я попробовал это,
<xs:element name="FullNewRoot">
<xs:complexType>
<xs:sequence>
<xs:element ref="rootElementName"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Где rootElementName
является корневым элементом standard.xsd. Добавив это сейчас, я могу видеть дополнительные элементы. Но теперь проблема в том, что вся структура standard.xsd появляется сначала, а затем все, что я переопределял в fullStandard.xsd, появляется, а я просто хочу, чтобы все они были на один раз.
Пожалуйста, предложите что-нибудь.
Пожалуйста показать ** ** полный XML Schema документы, которые мы можем использовать, чтобы воспроизвести проблему. Например, определение типа 'String' не показано. Образец XML-документа, который вы хотите быть действительным в отношении fullstandard.xsd, будет полезен. Больше помощи здесь: http://stackoverflow.com/help/mcve. –
Привет @Mathias Müller, 'String' не что иное, как' xs: string'. Я отредактировал вопрос. Надеюсь, теперь это минимальный, полный и проверенный пример. – Dish