www.baike369.com
百科369 > XML教程 > XML文档类型定义(DTD)

XML文档类型定义(DTD)



XML文档类型定义(DTD)

一个XML文档有效是指XML文档内容符合元素、属性和其它文档内容的定义。利用专用的文档类型定义(Document Type Definitions,DTD)和专用的解析器,可以验证一个文档类型的内容。XML推荐标准把解析器分为两类:有验证功能的解析器和无验证功能的解析器。根据XML的推荐标准,前者必须利用DTD实现有效性验证。有了具有验证功能的解析器,我们可以删除应用程序中的内容验证代码,让解析器根据DTD验证XML文档的内容。

在XML文档中嵌入DTD文件(!DOCTYPE)

要根据DTD定义验证XML文档,首先需要一个程序。

XML文档类型声明DTD(!DOCTYPE)

文档类型声明DTD或DOCTYPE告诉解析器,到哪里打XML文档定义的其余内容。

XML词汇共享

在实际应用中,大多数DTD要复杂许多,因此最好实现词汇共享,并且使用通用的DTD。

XML解剖一个DTD

通常,DTD由三个基本部分组成:元素声明 属性声明 实体声明在这里,我们将建立一个通讯录的XML词汇。

XML DTD文件中的元素声明

当我们用DTD定义一个XML文档的内容时,必须用DTD定义文档里的每一个元素。

XML DTD内容模型中的元素的基数指示符([none]、?、+和*)

一个元素的基数是指这个元素在一个内容模型中出现的次数。

XML DTD文件中的元素声明实例

下面建立一个通讯录实例。

XML DTD文件中的元素声明实例2

下面建立一个通讯录实例。name.xml文档的源代码如下:由于<last>元素没有使用基数指示符,因此它必须出现一次且仅一次。

XML DTD文件中的属性声明(ATTLIST)

属性声明需要使用ATTLIST关键字:这个例子的第一句把通讯录里的<contacts>元素声明为根元素。

XML DTD文件中的属性声明实例

下面建立一个通讯录实例。

XML DTD文件中的实体声明

在文档里,实体可以是一段要替换的文本,可以是其它的XML标记,甚至可以是外部文件。

XML开发DTD定义及添加注释(<!--...-->)

当我们开始为自己的XML文档设计DTD定义时,可能会认为按线性顺序定义DTD是比较困难的。

XML DTD的局限性

利用DTD,我们不必使用专用程序就可以验证XML文档;利用DTD,我们可以定义属性的默认值,甚至可以建立模块化的XML文档。

XML DTD总结

利用DTD,我们可以根据由元素和属性组成的某个词汇,验证自己的XML文档。

Copyright© 2011-2016 www.baike369.com All Rights Reserved