3.1.3.6 ID和IDREF
ID类型
ID是用属性值的方式为文件中的某个元素定义唯一标识的方法,它的作用类似于HTML文件中的内部链接。在大多数情况下,ID由处理文件的程序或脚本语言使用。
ID的值必须是一个有效的XML名称,它由字母、数字或下划线开始,名字中不能出现空白符。另外一般而言,不要给ID类型的属性事先指定缺省值,这很容易引起不同的元素具有相同的标识的情况,更不能使用FIXED型的缺省值。此类属性经常使用REQUIRED缺省类型,当然,这也不是必须的。有的应用并不要求每个元素都有自己的标识,所以,也可以使用IMPLIED缺省类型。
encoding="GB2312"
standalone = "yes"?>
<DOCTYPE 联系人列表[ <ELEMENT 联系人(姓名,EMAIL)>
<ELEMENT 姓名(#PCDATA)>
<ELEMENT EMAIL(#PCDATA)>
<ATTLIST 联系人 编号 ID #REQUIRED>
]>
<联系人列表>
<联系人 编号="1">
<姓名>张三
zhang@aaa.com <联系人 编号="2">
<姓名>李四
li@bbb.org IDREF类型
IDREF类型允许一个元素的属性使用文件中的另一个元素,方法就是把那个元素的ID标识值作为该属性的取值。例如下面的例子:
encoding="GB2312"
standalone = "yes"?>
<DOCTYPE 联系人列表[ <ELEMENT 联系人(姓名,EMAIL)>
<ELEMENT 姓名(#PCDATA)>
<ELEMENT EMAIL(#PCDATA)>
<ATTLIST 联系人 编号 ID #REQUIRED>
<ATTLIST 联系人 上司 IDREF #IMPLIED>
]>
<联系人列表>
<联系人 编号="2">
<姓名>张三
zhang@aaa.com <联系人 编号="1" 上司="2">
<姓名>李四
li@aaa.com