首页 > 解决方案 > complexContent 和 sequence 之间的 XSD 区别

问题描述

XSD 中的 asequence和 a 有什么区别?complexContent

我对 XSD 很陌生,但我已经阅读了一些关于 XSD 的文章和 w3schools 教程。
我也在互联网上进行了很多搜索,但没有解释两者之间的区别。

一个例子是这样的:

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

对比

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

标签: xmlxsdxsd-validationxml-validation

解决方案


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

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

请注意,您的示例xs:complexContent无效,因为xs:element不能是xs:complexContent.

也可以看看:


推荐阅读