xml - xsd :sequence behavior inside a xsd:all? 的替代方案是什么

标签 xml xsd xsd-validation

我不明白我应该如何定义我的复杂类型。

今天我有这个:

<xsd:element name="batch_requests_callbacks">
    <xsd:complexType>
      <xsd:sequence>
            <xsd:element ref="document_id" minOccurs="1" maxOccurs="1"/>
            <xsd:choice minOccurs="0" maxOccurs="1">
              <xsd:element ref="filename"/>
              <xsd:element ref="error"/>
            </xsd:choice>
            <xsd:element ref="author" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
      <xsd:attribute name="version" default="1.0"/>
    </xsd:complexType>
</xsd:element>

但是,标签在 xsd:sequence 中的顺序很重要,我不希望出现这种行为。

如果我使用 xsd:all 我没有标签顺序,但我不能将 maxOccurs 设置为无限制,我不能使用 xsd:choicexsd:all

我有什么选择?

最佳答案

您可以使用 <xsd:choice minOccurs="0" maxOccurs="unbounded">而不是你的 xsd:sequence为了模拟无序元素验证。这绕过了 xsd:all 的限制.

关于xml - xsd :sequence behavior inside a xsd:all? 的替代方案是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14361550/

相关文章:

java - JAXB 是否支持 xsd :restriction?

xml - wix XmlConfig : is it possible to insert a new node in a particular position within a parent node

xml - 如何将xpath的值放入html img标签中

xml - cvc-elt.1.a : Cannot find the declaration of element 'Order'

xml - 什么时候应该使用 XSD 文件?

ant - 使用 Ivy 解决 XSD

python - 如何使用 lxml 验证 XSD 架构,但忽略与给定模式匹配的元素?

xml - "<xs:sequence/>"是什么意思?

javascript - xml 到 json 映射挑战

python - 对列表列表进行排序/组合