定义一个简单类型,确定与具有纯文本内容的属性或元素的值有关的信息以及对它们的约束。
<simpleType
final = (#all | (list | union | restriction))
id = ID
name = NCName
{any attributes with non-schema Namespace}...>
Content: (annotation?, (restriction | list | union))
</simpleType>
特性
final
派生的类型。 final 属性防止该 simpleType 元素的指定派生类型。 该值可以包含 #all 或者一个列表,该列表是 list、union 或 restriction 的子集。list
防止通过列表派生。
union
防止通过联合派生。
restriction
防止通过限制派生。
#all
防止所有派生(列表、联合、限制)
可选。
id
该元素的 ID。 id 值必须属于类型 ID 并且在包含该元素的文档中是唯一的。可选。
name
类型名称。 该名称必须是在 XML 命名空间规范中定义的无冒号名称 (NCName)。如果指定,该名称在所有 simpleType 和 complexType 元素之间必须是唯一的。
如果 simpleType 元素是 schema 元素的子元素,则为必选项,在其他时候则是不允许的。
元素信息
出现次数 |
无限制 |
父元素 |
attribute、element、list、restriction (simpleType)、schema、union |
内容 |
备注
简单类型是通过将它们从现有简单类型(内置数据类型和派生的简单类型)派生来定义的。 简单类型不能包含元素并且不能具有属性。
简单类型可以通过下列方式之一进行定义。
restriction |
将简单类型的值的范围限制为继承的简单类型的那些值的子集。 |
list |
定义一个简单类型,包含继承的简单类型的通过空白分隔的值列表。 |
union |
定义一个简单类型,包含两个或多个继承的简单类型的值的联合。 |
在 complexType 或 attribute 元素内包含的 simpleType 声明在包含它的 complexType 或 attribute 范围内定义该简单类型。 如果 simpleType 声明具有作为其父元素的 schema 元素,则在该架构内具有全局范围。
在定义简单类型后,可以在属性或元素声明或 complexType(同样也可以在元素声明中使用)定义中使用。
示例
以下示例说明使用 restriction、list 和 union 元素的简单类型定义。
Restriction
下面所示的简单类型 (freezeboilrangeinteger) 将整数值限制在最小值 0 和最大值 100 的范围内。
List
下面所示的简单类型 (listOfDates) 允许将日期列表(每个列表项日期必须通过空白分隔)作为其内容。
Union
下面显示了一个简单的类型 (allframesize),该类型是定义枚举值组的两个其他简单类型的组合;一组枚举值通过一组整数值提供公路自行车的尺寸,另一组枚举值枚举山地自行车尺寸的字符串值(例如“ large”、“medium”、“small”)。
其他资源
有关更多信息,请参见“W3C XML Schema Part 1: Structures Recommendation”(W3C XML 架构第 1 部分:结构建议),网址为:www.w3.org/TR/2001/REC-xmlschema-1-20010502/#element-all。