不,我不认为这是可能的。您的要求似乎相互排斥。你可以有:每种类型的以任何顺序
元素,但不超过一个(或零)
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:all>
<xs:element name="elm1" minOccurs="0" maxOccurs="1" />
<xs:element name="elm2" minOccurs="0" maxOccurs="1" />
<xs:element name="elm3" minOccurs="0" maxOccurs="1"/>
<xs:element name="elm4" minOccurs="0" maxOccurs="1"/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0" ?>
<root>
<elm4 />
<elm1 />
<elm3 />
</root>
或在固定的顺序
元素和每个具有特定数量的出现
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="elm1" minOccurs="0" maxOccurs="2" />
<xs:element name="elm2" minOccurs="0" maxOccurs="1" />
<xs:element name="elm3" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="elm4" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0"?>
<root>
<elm1 />
<elm1 />
<elm2 />
<elm4 />
<elm4 />
<elm4 />
<elm4 />
</root>
你可以在你的xsd schema中定义它并根据你的xml验证它。 – CarneyCode 2011-02-23 10:44:32
它看起来像你的需求_可以以任何方式订购_和_occur限于它们的给定数量_是相互排斥的。 – Filburt 2011-02-24 14:58:31
是的,正确,filburt。那可能吗? – ChrisBenyamin 2011-02-25 18:27:33