XML Schema类型包括复杂类型和简单类型。
一、简单类型
不包含任何子元素和属性,只含有文本内容的元素在XML Schema中属于简单类型。其分为两种:一种是XML Schema内置的简单数据类型,共40多种;另一种是用户自定义的简单数据类型,使用<simpleType>标记,通过这个标记可以给XML Schema提供的数据类型添加一些限制,从而构造出新的类型。
使用simpleType元素为XML文档中的元素和属性自定义数据类型的具体格式:
<xsd:simpleType name="name">
<xsd:restriction base="xsd:datatypes"
<xsd:facets_element value="value"/>
...
</xsd:restriction>
</xsd:simpleType>
其中,说明如下:
1.name属性用于指明用户定义的数据类型名称
2.restriction子元素定义用户自定义元素simpleType使用的数据类型
3.base属性指明自定义数据类型派生于那个基本数据类型
4.facets——element子元素用于描述自定义数据类型的约束规则,如长度、范围、枚举类型、联合类型等
二、复杂类型
带有子元素或使用属性的元素在XML Schema中属于复杂类型,用<complexType>标记定义,也可以指定元素与元素或元素与属性的从属关系。格式如下:
<xsd:element name="元素名称" type="数据类型">
<xsd:complexType name="数据类型">
<!--子元素描述部分-->
<xsd:sequence>
...
</xsd:sequence>
</xsd:complexType>
</xsd:element>
说明如下:
1."说明类型"用于指明复杂类型元素的名称
2."数据类型"指自定义数据类型的名称
3.<sequence>子元素表示在其定义范围内的所有元素都必须按顺序出现