Скажите, что в моем XSD определены следующие типы:
<complexType name="NamedEntity">
<attribute name="ix" type="positiveInteger"></attribute>
<attribute name="sName" type="string"></attribute>
<attribute name="txtDesc" type="string"></attribute>
</complexType>
<complexType name="Node">
<complexContent>
<extension base="tns:NamedEntity">
</extension>
</complexContent>
</complexType>
<complexType name="Source">
<complexContent>
<extension base="tns:NamedEntity">
<attribute name="dt" type="dateTime"></attribute>
</extension>
</complexContent>
</complexType>
Теперь я хочу выразить, что элемент Node
может иметь ноль или более дочерних элементов, которые могут иметь тип Node
или Source
.
Было бы хорошо, если бы мне пришлось каким-то образом перечислять разрешенные типы для дочерних элементов, но, поскольку у меня есть больше типов, которые наследуются от NamedEntity
, было бы здорово, если бы я мог указать только базовый тип.
Редактировать: Я бы не хотел использовать xsi:type
в документе, но имел бы однозначную связь между именем элемента и типом. Похоже, от этого зависит довольно много обработки XML, и я также нахожу ее более читабельной.