以下XML代码段可使用标准XML lib进行解析(使用Java和Scala进行了尝试)。
<?xml version="1.0" encoding="UTF-8"?>
<list>
<a>value1</a>
<b>value2</b>
<a>value3</a>
<a>value4</a>
<a>value5</a>
<b>value6</b>
<b>value7</b>
</list>
正如您所见,'a'和'b'元素是混合的(非确定性的)。是否可以为这种“混合”行为编写XSD?
答案 0 :(得分:9)
这应该有效..: - )
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="list">
<xs:complexType>
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element name="a" type="xs:string" />
<xs:element name="b" type="xs:string" />
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>