XML-Schema

来源:互联网 发布:sql复合主键3个 编辑:程序博客网 时间:2024/06/06 06:55

xs:element                声明元素

xs:complexType       声明复杂类型

xs:sequence

xs:restriction

xs:pattern

xs:attribute


术语:

模式:由许多不同类型的组件构成,包括:元素、属性、简单类型、复杂类型、记号(notation)、元素组 (模型组定义)、 属性组和标识约束等。

实例:符合某个模式的xml文档称为实例

声明:对于出现在实例文档中并通过名称来验证的组件使用“声明”,这些组件包括元素、属性、记号(notation),如元素声明、属性声明。

定义:对于在模式内部中的组件使用“定义”, 这些组件包括数据类型、 元素组、 属性组和一致性约束,如 数据类型定义,元 素组定义。


简单类型:

要定义新的简单类型,使用xs:simpleType 元素,要对现有的基类型进行限制 ,使用 xs:restriction元素,并在该元素的内部使用限制值范围的面(facet)。

<xs:simpleType name="ageType">

<xs:restriction base="xs:integer" >

  <xs:minInclusive value="18" />

  <xs:maxInclusive value="60" />

</xs:restrition>

</xs:simpleType>


复杂类型:

具有复杂类型的元素可 有子元素和属性。 复杂类型使用 xs:complexType元素来定义。

复杂类型要么具有简单内容,要么具有复杂内 容。 


元素的“内容”是指在它的开始标签和结束标签之间的字符数据和子元素。 简单内 容指的是它只包含字符数据内容,而没有子元素(可以有属性),

简单内容使用xs:simpleContent元素来定义.

除此之外的元素内容称为复杂元素,复杂元素使用xs:complexContent元素来定义.


模式与名称空间

当声明了名称空间之后,在引用时(type=)需要加上名称空间前缀,在定义类型时,不需要加前缀,因为类型都属于目标名称空间.

只有模式文档中的全局元素和全局属性才属于目标名称空间

如果要限定局部元素和属性,可以通过 xs:schema元素的 elementFromDefault. 和 attiuteFormDefault. 属性来设置。

0 0