]>
Attribute List
属性名1 属性类型 设置说明
属性名2 属性类型 设置说明
...>
表示student元素的number为属性名,CDATA文本类型,这个属性是必须的。
最常见的属性类型:CDATA,表示文本类型;
最常见的设置说明1:#REQUIRED,表示属性是必须的。
最常见的设置说明2:#IMPLIED,表示属性是可选的。
l CDATA:属性值为任意文本数据;
l Enumerated:属性值必须是枚举列表中的一个;
l ID:属性值必须是唯一的,并且属性值不能以数字开头;
CDATA,即Character Data(字符数据)。表示属性的类型为字符类型!
表示student元素的number属性是字符数据类型,并且是必须属性。
Enumerated不是关键字,定义枚举类型的属性需要给出枚举列表。当属性值为枚举类型时,那么这个属性的取值必须是枚举列表中的一个值。
表示student的sex属性取值必须是male或者是female。并且这个属性是可选的。
一个元素最多只能有一个ID 属性,ID属性用来表示元素唯一性的唯一标识。ID属性就相当与元素的身份证号,必须是唯一标识!
如果把student元素的number属性设定为ID类型,那么每个student元素的number属性值必须是唯一的,并且ID类型的属性值不能以数字开头。
表示student的number属性值是ID类型,这说明student元素的number属性值必须是唯一的,不能和其他student的number属性值相同。
注意:不能以数字开头。
如果元素有一个ID属性b
上面也是错误的,因为ID属性的值是不可以相同的。
l #REQUIRED:表示属性是必须的;
l #IMPLIED:表示属性是可选的,即这个属性可以不给出;
我们学习Schema的第一目标是:参照Schema的要求可以编写XML文档;
第二目标是:可以自己来定义Schema文档。
Ø DTD 的局限性
DTD不遵守XML语法(写XML文档实例时候用一种语法,写DTD的时候用另外一种语法)
DTD数据类型有限(与数据库数据类型不一致)
DTD不可扩展
DTD不支持命名空间(命名冲突)
Ø Schema的新特性
Schema基于XML语法
Schema可以用能处理XML文档的工具处理
Schema大大扩充了数据类型,可以自定义数据类型
Schema支持元素的继承—Object-Oriented’
Schema支持属性组
Ø 简单类型
内置的数据类型(built-in data types)
• 基本的数据类型
• 扩展的数据类型
用户自定义数据类型(通过simpleType定义)
数据类型的特性
Ø 复杂类型(通过complexType定义)