XSD验证具有非确定性元素的XML文件

Sch*_*jer 3 xml xsd xsd-validation

以下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>
Run Code Online (Sandbox Code Playgroud)

正如你可以看到'a'和'b'元素是混合的(非确定性的).是否有可能为这种"混合"行为写一个XSD?

Inf*_*nd' 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>
Run Code Online (Sandbox Code Playgroud)