Я пытаюсь создать схему для документа, который будет иметь несколько пространств имен.Примерно так:
<?xml version="1.0"?>
<parent xmlns="http://myNamespace"
xmlns:c1="http://someone/elses/namespace"
xmlns:c2="http://yet/another/persons/namespace">
<c1:child name="Jack"/>
<c2:child name="Jill"/>
</parent>
Это то, что я пока имею в своей схеме:
<xs:element name="parent" type="Parent"/>
<xs:complexType name="Parent">
<!-- don't know what to put here -->
</xs:complexType>
<!-- The type that child elements must extend -->
<xs:complexType name="Child" abstract="true">
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
План состоит в том, чтобы другие могли создавать документы с произвольными дочерними элементами, какПока эти дочерние элементы расширяют мой тип Child
.Мой вопрос: как я могу ограничить элемент <parent>
таким образом, чтобы он мог содержать только элементы, типы которых являются расширениями типа Child
?