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文档的结构和内容。