XML文档类型定义(DTD)与ID属性解析

需积分: 10 3 下载量 119 浏览量 更新于2024-08-17 收藏 585KB PPT 举报
"ID类型-DTD和XML文档" 在XML中,ID类型是一种特殊的属性类型,用于为文档中的元素提供唯一的标识。这与HTML中的ID属性类似,允许引用和链接到文档内的特定位置。ID类型的值必须是XML名称,这意味着它们必须以字母、数字或下划线开头,并且不允许包含空格。为了保持唯一性,不应为ID类型的属性预设缺省值,特别是使用FIXED类型,因为这可能导致多个元素共享相同的ID。通常,使用REQUIRED类型作为缺省值更为合适,但也并非强制要求。某些情况下,可以根据应用需求选择IMPLIED类型,表示元素可以不具有ID。 以下是一个示例的DTD(文档类型定义)和XML文档: ```xml <?xml version = "1.0" encoding="GB2312" standalone = "yes"?> <!DOCTYPE 联系人列表[ <!ELEMENT 联系人列表 ANY> <!ELEMENT 联系人(姓名,EMAIL)> <!ELEMENT 姓名(#PCDATA)> <!ELEMENT EMAIL(#PCDATA)> <!ATTLIST 联系人 编号 ID #REQUIRED> ]> <联系人列表> <联系人 编号="1"> <姓名>张三</姓名> <EMAIL>zhang@aaa.com</EMAIL> </联系人> <联系人 编号="2"> <姓名>李四</姓名> <EMAIL>li@bbb.org</EMAIL> </联系人> </联系人列表> ``` 在这个例子中,DTD定义了一个名为"联系人列表"的XML结构,其中包含"联系人"元素,每个"联系人"元素又包含"姓名"和"EMAIL"子元素。"联系人"元素有一个ID类型的属性"编号",这是必需的(#REQUIRED)。XML文档随后展示了如何根据这个DTD实例化数据。 XML的核心价值在于其自定义标记的能力,它允许创建符合特定领域需求的结构化文档。一个XML文档不仅要符合XML语法("形式良好"),还需要遵循DTD的规则以确保"有效"。DTD作为一种元标记,定义了XML文件的结构、元素、标签、属性和实体。它可以是简单的,仅列出元素和它们的属性,也可以是复杂的,描述元素间的层次和相互关系。 DTD使用正则表达式来规范XML文件的结构,解析器会检查XML内容是否符合这些规则。如果XML文件中的任何信息不符合DTD,那么该文件将被视为无效。在示例XML文档中,"联系人列表"的每个"联系人"都需要一个唯一的"编号"ID,以区分不同的联系人记录。 在XML文件的序言中可以直接包含DTD定义,这称为内部DTD。此外,也可以通过外部引用来包含DTD,这样可以将XML结构和语法规则分开管理,便于重用和维护。无论使用内部还是外部DTD,其目的都是确保XML文档的结构和内容遵循预定义的规则,从而使数据交换和处理更加可靠和一致。