XSD 仅含元素


XSD (XML Schema Definition)是用于描述XML文档结构的语言。其中,元素是XSD中的基本构建块。

元素被定义为XML文档中的可命名对象,可以包含一个值或其他元素。在XSD中,元素通过标记来定义。

一个基本的元素定义包括元素名称和数据类型。例如,以下是一个名称为“age”的元素的定义:

<xs:element name="age" type="xs:integer"/>

上述代码中,“xs”前缀表示XML数据类型命名空间,其所定义的“integer”数据类型指元素的值必须是整数。

当需要约束元素的值,可以使用以下属性:

  • minOccurs:指定元素在文档中出现的最小次数;
  • maxOccurs:指定元素在文档中出现的最大次数;
  • nillable:指定元素是否可以为空;
  • default:指定元素的默认值;
  • fixed:指定元素的必须的固定值,遵循默认值但不能被修改。

以下是一个示例,演示如何使用这些属性:

<xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1"/>

上述代码表明“name”元素是必须的,且只能在该文档中出现一次。

还可以使用元素的子元素来定义约束条件。子元素中最常用的是xs:annotation,它可以包含xs:documentation元素,用于说明元素的作用。

此外,还有一些其他类型的子元素,用于增强对元素的约束,如:

  • xs:complexType:表示元素的复杂类型,可以包含多个子元素;
  • xs:simpleType:表示元素的简单类型,通常用于定义数据类型和值约束;
  • xs:sequence:表示元素的子元素的序列,指定了其出现顺序和约束条件;
  • xs:choice:表示元素的子元素的选择,指定了所有可能的选项;
  • xs:attribute:表示元素的属性。

以下是一个使用xs:complexType定义元素的示例:

<xs:element name="person">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="name" type="xs:string"/>
            <xs:element name="age" type="xs:integer"/>
        </xs:sequence>
    </xs:complexType>
</xs:element>

上述代码定义了一个名为“person”的元素,它包含一个名为“name”的元素和一个名为“age”的元素。

总之,元素是XSD中非常重要的基本构建块。通过定义元素和约束条件,可以更好地控制XML文档的结构和内容。