Я написал XMLSchema, которая выглядит так, как показано ниже. Идея состоит в том, что baseContainer допускает только некоторые теги, а fullContainer разрешает все теги в baseContainer + некоторые другие теги. Теги могут быть в любом порядке, и их может быть несколько. В моем реальном примере гораздо больше тегов, поэтому этот метод записи XMLSchema имеет тенденцию становиться большим и неструктурированным. Я хочу использовать тег расширения XMLSchema для структурирования документа, но он не работает так, как я ожидаю.
Заранее спасибо:)
<complexType name="baseContainer">
<sequence minOccurs="0" maxOccurs="unbounded">
<choice minOccurs="0" maxOccurs="1">
<element ref="w:aTag0"/>
<element ref="w:aTag1"/>
<element ref="w:aTag2"/>
</choice>
</sequence>
</complexType>
<complexType name="fullContainer">
<sequence minOccurs="0" maxOccurs="unbounded">
<choice minOccurs="0" maxOccurs="1">
<element ref="w:aTag0"/>
<element ref="w:aTag1"/>
<element ref="w:aTag2"/>
<element ref="w:aTag3"/>
<element ref="w:aTag4"/>
</choice>
</sequence>
</complexType>
Я пробовал это:
<complexType name="fullContainer">
<complexContent>
<extension base="w:baseContainer">
<sequence minOccurs="0" maxOccurs="unbounded">
<choice minOccurs="0" maxOccurs="1">
<element ref="w:aTag3"/>
<element ref="w:aTag4"/>
</choice>
</sequence>
</extension>
</complexContent>
</complexType>