复杂内容和序列之间的XSD差异

时间:2019-07-13 16:19:26

标签: xml xsd xsd-validation xml-validation

在XSD中sequencecomplexContent之间有什么区别?

我是XSD的新手,但是我已经阅读了一些有关XSD的文章和w3schools教程。
我也在互联网上进行了很多搜索,但是两者之间的区别无处不在。

一个例子是这样:

<xs:element name="foo">
    <xs:complexType> 
        <xs:sequence>
            <xs:element name="bar" type="xs:string" />
        </xs:sequence>
    </xs:complexType>
</xs:element>

vs

<xs:element name="foo">
    <xs:complexType> 
        <xs:complexContent>
            <xs:element name="bar" type="xs:string" />
        </xs:complexContent>
    </xs:complexType>
</xs:element>

1 个答案:

答案 0 :(得分:1)

虽然xs:complexContentxs:sequence都可以显示为xs:complexType的子元素,但它们的用途完全不同:

  • 使用 xs:complexContent (带有xs:restrictionxs:extension 子元素)来定义 限制或扩展 另一种类型的类型。
  • 使用 xs:sequence 表示从属元素(或其他从属分组构造)的 顺序排序

请注意,您的示例xs:complexContent无效,因为xs:element不能是xs:complexContent的直接子代。

另请参见: