Re: XSD - порядок тегов
От: Yarrow  
Дата: 13.09.06 07:33
Оценка:
Можно использовать комбинацию xs:group и xs:choice.
Пример:

XSD
<xs:element name="masters" type="masters-type">
<xs:complexType name="masters-type">
    <xs:sequence>
        <xs:group ref="content" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
</xs:complexType>

<xs:group name="content">
    <xs:choice>
        <xs:element name="master">
            <xs:complexType mixed="true">
                <xs:attribute name="id" type="xs:ID"/>
            </xs:complexType>
        </xs:element>
        <xs:element name="noise" type="xs:string"/>
    </xs:choice>
</xs:group>


Определенные внутри группы элементы <master/> и <noise/> могут встречаться в любом количестве и в любом порядке

Вот такой фрагмент XML будет валидным:
<master id="id1">мастер-1</master>
<noise>бла-бла-бла</noise>
<master id="id2">мастер-2</master>
<master id="id3">мастер-3</master>
<noise>бла-бла-бла</noise>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.