XML中DTD属性的约束




	
	
	
	
	
]>



 






 DTD属性定义

 

1 属性定义的格式

  Attribute List

                     属性名1 属性类型 设置说明

                     属性名2 属性类型 设置说明

                     ...>

表示student元素的number为属性名,CDATA文本类型,这个属性是必须的。

最常见的属性类型:CDATA,表示文本类型;

最常见的设置说明1:#REQUIRED,表示属性是必须的。

最常见的设置说明2:#IMPLIED,表示属性是可选的。

 

2 属性类型

l  CDATA:属性值为任意文本数据;

l  Enumerated:属性值必须是枚举列表中的一个;

l  ID:属性值必须是唯一的,并且属性值不能以数字开头;

 

3 CDATA属性类型

CDATA,即Character Data(字符数据)。表示属性的类型为字符类型!

表示student元素的number属性是字符数据类型,并且是必须属性。

 

4 Enumerated属性类型

Enumerated不是关键字,定义枚举类型的属性需要给出枚举列表。当属性值为枚举类型时,那么这个属性的取值必须是枚举列表中的一个值。

表示student的sex属性取值必须是male或者是female。并且这个属性是可选的。

 

 

5 ID属性类型

  一个元素最多只能有一个ID 属性,ID属性用来表示元素唯一性的唯一标识。ID属性就相当与元素的身份证号,必须是唯一标识!

如果把student元素的number属性设定为ID类型,那么每个student元素的number属性值必须是唯一的,并且ID类型的属性值不能以数字开头。

表示student的number属性值是ID类型,这说明student元素的number属性值必须是唯一的,不能和其他student的number属性值相同。

 

注意:不能以数字开头。

 

如果元素有一个ID属性a

如果元素有一个ID属性b

上面也是错误的,因为ID属性的值是不可以相同的。

 

 

6 设置说明

l  #REQUIRED:表示属性是必须的;

l  #IMPLIED:表示属性是可选的,即这个属性可以不给出;

3. Schema

1. Schema概述

我们学习Schema的第一目标是:参照Schema的要求可以编写XML文档;

第二目标是:可以自己来定义Schema文档。

2 为什么要用Schema

Ø  DTD 的局限性

DTD不遵守XML语法(写XML文档实例时候用一种语法,写DTD的时候用另外一种语法)

DTD数据类型有限(与数据库数据类型不一致)

DTD不可扩展

DTD不支持命名空间(命名冲突)

Ø  Schema的新特性

Schema基于XML语法

Schema可以用能处理XML文档的工具处理

Schema大大扩充了数据类型,可以自定义数据类型

Schema支持元素的继承—Object-Oriented’

Schema支持属性组

3.scheme的文档结构

4. scheme的数据类型

Ø  简单类型

内置的数据类型(built-in data types

•      基本的数据类型

•      扩展的数据类型

用户自定义数据类型(通过simpleType定义)

数据类型的特性

Ø  复杂类型(通过complexType定义)


你可能感兴趣的:(XML中DTD属性的约束)