Я пытаюсь написать схему для какого-то XML, похожего на HTML.
Он содержит теги
внутри тегов (aragraph). Проблема в том, что они могут быть в любом порядке:
<p> <u><b>test</u><b> </p>
или
<p> <b><u>test</u></b> </p>.
Я пытаюсь создать сложный тип со ссылками на себя, но всегда получаю ошибки "неверная схема". Если кто-нибудь может подсказать мне правильный путь, я был бы очень признателен.
Схема:
<xs:element name="HTMLDocument">
<xs:complexType>
<xs:sequence>
<xs:element name="p" type="textElements" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="textElements" mixed="true">
<xs:group>
<xs:element name="b" type="textElements"/>
<xs:element name="i" type="textElements"/>
<xs:element name="u" type="textElements"/>
<xs:element name="a" type="textElements"/>
<xs:element name="font" type="textElements">
<xs:complexType>
<xs:attribute name="size" type="xs:string"/>
<xs:attribute name="face" type="xs:string"/>
<xs:attribute name="color" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="img">
<xs:complexType>
<xs:attribute name="src" type="xs:string"/>
<xs:attribute name="width" type="xs:decimal"/>
<xs:attribute name="height" type="xs:decimal"/>
</xs:complexType>
</xs:element>
</xs:group>
</xs:complexType>
</xs:schema>