XML 混合引用DTD
- 格式:doc
- 大小:63.00 KB
- 文档页数:2
DTD全称为decument type definition,它是文档类型定义,其中规定XML文档中的元素、属性、标记、文档中的实体及其相互关系。
DTD为XML文档结构制定了一套规则。
DTD采用了非XML的语法描述语义约束,可以提供如下功能:1、DTD可以为应用程序提供一种统一的XML文档格式2、DTD有助于数据交流与共享3、DTD可以使用脱离实际数据就能知道文档的逻辑结构4、DTD可以验证数据的有效性5、通过使用DTD可以让每个XML文件带有一个有关其自身的格式描述6、不同的公司、组织可一致的使用某个标准的DTD来交换数据7、应用程序也可以使用某个标准的DTD验证所介绍的XML文档是否符合语义约束8、开发者可以使用DTD来验证所创建的XML文档DTD约束包括以下几个方面1、定义XML的根元素、内容和结构2、定义XML文档中可以接受哪些元素3、定义XML文档里每个元素接受的合法内容包括是否可以为空、是否可以是文本、可以接受哪些子元素、子元素出现的顺序及子元素出现的次数等4、定义XML文档中每个元素能接受哪些属性5、定义XML文档中每个属性的类型、能接受哪些值以及元素对属性的约束等6、定义属性的固定值和默认值7、定义XML文档以及DTD文档中可以使用的实体注:一个合法的文档必须符合DTD指定的约束条件,而且它的基本元素必须是在文档类型声明中指定的。
只有符合DTD规则的XML文档才是有效地文档。
引入DTD的方式:1、内部引用方式2、外部引用方式其中外部引用方式可划分为两种即SYSYTEM引用方式、PUBLIC引用方式。
下面我们逐一介绍DTD的引用方式首先介绍内部DTDDTD语义约束与xml文档的内容放在同一个XML文档中。
内部DTD紧跟在XML声明和处理指令之后,以”<!DOCTYPE “开始,以”]>”结束。
其语法格式如下<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE 根元素名[元素描述[DTD的内容]]>XML文档主体部分<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE book[<!ELEMENT book (computer)*><!ELEMENT computer (book_name,price,author)><!ELEMENT book_name(#PCDATA)><!ELEMENT price (#PCDATA)><!ELEMENT author (#PCDATA)>]><book><computer><author>redarmychen</author><book_name>JavaWeb开发</book_name><price>30.0</price></computer><computer><book_name>CSS应用程序的开发</book_name><price>1000</price><author>redarmy_Chen</author></computer></book>案例分析:第一行XML声明语句中的standalone属性取”yes” 值表示所有必须的实体声明都包含的文档中说明该文档是独立文档。
XML 混合引用DTD
如果XML文件同时带有内部DTD和外部DTD文件,那么XML解析器会将二者合一。
如果内部的DTD和外部的DTD文件同时声明了某个元素,那么将会导致错误。
如果不准备更改一个已经获得广泛支持的DTD文档,但是又需要增加新的内容时,可以同时使用内部DTD和外部DTD。
内部DTD可以方便地增加新内容,又不影响其他使用同一外部DTD的XML文档的有效性。
混合使用DTD的格式如下所示:
下面通过实例来说明如何使用混合DTD,首先创建一个外部DTD文件,内容
根元素的内容可以是任意内容,所以可以使用为根元素添加新的元素内容。
上述代码保存为dtdFile.xml文件。
引用该DTD的XML文件内容如下所示:
上述代码保存为dtds.xml文件,在内部DTD中新声明了一个名称为“描述”的元素。
在浏览器中打开该文件,如图3-5所示。
图3-5 混合使用DTD。