Элемент смешанного сложного типа также может иметь текст между своими дочерними элементами. Наследуют ли дети эту смешанную черту? Другими словами, если дочерние элементы не относятся к смешанному типу, могут ли они также иметь текст между своими дочерними элементами?
Наследуется ли mix дочерними элементами схемы xsd?
Ответы (1)
Нет, mixed
не наследуется дочерними элементами.
С учетом этого XSD:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="child" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="grandchild" minOccurs="0" maxOccurs="unbounded">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Экземпляр этого XML-документа:
<root>
text1
<child>
text2
<grandchild/>
</child>
</root>
Было бы недопустимо, поскольку модель контента mixed
root
не передается модели контента child
.
Проверяющий синтаксический анализатор выдаст следующую ошибку:
Элемент «дочерний» не может иметь символ [дочерние элементы], потому что тип содержимого типа относится только к элементу.
См. также аналогичный, но другой вопрос Наследуется ли смешанный тип при расширении сложного типа?
person
kjhughes
schedule
10.01.2014