2_4 对year定义一个属性

时间:2021-11-15 11:42:38

1 属性声明

有时也可以对元素添加一些与其内容有关的补充信息,即声明该元素的属性.与元素类似,在XML文档中使用的属性必须在DTD中声明

属性声明的语法如下:

<! ATTLIST Element_name Attribute_name Type Default_value>

其中,ATTLIST关键字用来定义元素所具有的属性

Element_name是元素名,

Attribute_name是该元素所具有的属性名

Type是属性的类型,最常的是CDATA,Default_value是属性的默认值

其中,定义属性的代码是:

<! ELEMENT year (#PCDATA)>

<! ELEMENT year format CDATA #IMPLIED>

CDATA表示属性的值由字符数据组成,而不含标记符.

#IMPLIED意味着属性无默认值,也可以默认.

声明属性时应注意以下几点:

(1)属性名称遵循的规则与有效的元素名称相同

(2)在一个给定的元素中不能有两个属性同名

(3)若属性值中含有双撇号,则该属性值应用单撇号括起来.

如<job comments='He said,"I can paint only red doors"'>Door Painter</job>

2 属性的类型

DTD中可以定义不同类型的属性

1)CDATA属性类型

此种类型的属性值只能是文本串,用CDATA关键字进行声明,它与#PCDATA元素声明类似.

      <! ATTLIST AnElement its_attr CDATA #REQUIRED>

这个例子说明元素AnElement的its_attr属性的值是一个文本串.

 

2)枚举属性类型

枚举属性的值为指定的文本串列表中的某个文本串.声明时使用括号把这些文本串括起来,

并用竖线分隔开.

      <! ATTLIST author authorID ID #REQUIRED>

 

3)ID属性类型

ID类型的属性用于标识文档中的元素.ID属性的值必须是一个合法的XML名称,并且该值在文档

中必须是唯一的.同时,每个元素最多只能具有一个ID类型的属性.

例如

      <! ATTLIST author authorID ID #REQUIRED>

它为author元素定义了ID类型的属性authorID,其属性值可以唯一地标识每个author元素