I stuck into creating an XSD schema allowing only next sequence of elements:
<root>
<node />
<node />
...
<root>
or
<root>
<wrapper>
<node />
...
</wrapper>
<node />
...
<wrapper>
<node />
...
</wrapper>
<root>
i.e. a number of node, some of them could be wrapped, and some – not.
Here’s what I already have:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="node" minOccurs="0" maxOccurs="unbounded" type="NodeElement" />
</xs:sequence>
<xs:sequence>
<xs:element name="node" minOccurs="0" maxOccurs="unbounded" type="WrapperElement" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="NodeElement" ></xs:complexType>
<xs:complexType name="WrapperElement" ></xs:complexType>
</xs:schema>
Am I missing something or wouldn’t just a simple
<xs:choice>be suitable