首先说明的是文档类型定义(Document Type Definition)与文档类型声明(Document Type Declaration)是不同的,而且在缩写的时候只有文档类型定义的缩写为DTD;文档类型声明指定了使用DTD,而DTD描述了XML的文档结构。
文档类型声明出现在文档的序言部分,处在XML声明之后,元素实例之前,并且一个XML文档只能有一个文档类型的声明。文档类型声明是以<!DOCTYPE 开始,以>结束。文档类型声明包括DTD或DTD所在文档的URL。文档类型声明包含或者引用DTD,但DTD不包括文档类型声明。
文档类型声明分为3种形式:1,内部的DTD声明;2,外部的DTD声明;3,内部DTD与外部DTD结合的声明。
DTD的用途:XML可以用DTD来验证自身数据的有效性。
一个DTD文档主要包含:1,元素(ELEMENT)的定义规则;2,元素间关系的定义规则;3,元素可使用的实体(ENTITY)或注记(NOTATION)规则;4,元素可使用的属性(ATTLIST);5,属性 的定义规则;
元素声明的格式为: <!ELEMENT 元素名 元素内容模式>
元素内容模式:1,EMPTY:用于定义空元素,所声明的元素只可能有属性而不会有字符数据或子元素。
<!ELEMENT 元素名 EMPTY>
2,ANY:可以包含DTD中定义的其他任何元素或已编译的字符数据,可以使PCDATA、元素或元素和PCDATA的混合内容,也可以是空元素。
<!ELEMENT 元素名 ANY>
3,#PCDATA:是不包含其他任何子元素而只包含字符数据的元素。
<!ELEMENT 元素名 #PCDATA>
4,子元素模式:可以包含一系列的子元素,但不能包含字符数据。
<!ELEMENT 元素名 (子元素1,子元素2,子元素3,.....) >
5,混合模式:可以包含子元素又可以包含已编译的字符数据,即字符数据与子元素的混合。
<!ELEMENT 元素名 (#PCDATA|子元素1|子元素2|......) *>
元素在声明中正则表达式的含义:
元字符 |
含义 |
* |
星号表示可选项目,在使用中它可以出现任意多次 |
+ |
加号表示项目可以出现任意多次,但必须至少出现一次 |
? |
问号表示可选的项目在使用中只能出现一次或不出现 |
() |
一组要共同匹配的表达式 |
| |
OR关系,表示可以选择用竖线分隔开的若干个项目中的一个 |
, |
AND关系,表示要求严格遵守从声明时的顺序要求 |
元素属性的声明语法:
<!ATTLIST 元素名 属性名1 属性1类型 缺省属性1取值
属性名2 属性2类型 缺省属性2取值 ......... >
属性的类型:
属性类型 |
含义 |
CDATA |
任意的字符数据,即没有标记的文本 |
NMTOKEN |
XML名称标记 |
NMTOKENS |
由空格分隔的多个XML名称标记 |
ID |
不被文档中任何其他ID类型属性共享的唯一的名称 |
IDREF |
文档中ID类型属性的值 |
IDREFS |
由空格分隔的多个ID类型属性的值 |
Enumerated |
枚举类型,即可选择的可能值列表 |
NOTATION |
在DTD中声明的注记的名称 |
ENTITY |
在DTD中声明外部实体的名称 |
ENTITIES |
在DTD中声明的由空格分隔的多个外部实体的名称 |
元素属性默认值的含义 :
属性默认值 |
含义 |
#REQUIRED |
元素的每个实例必须包含该属性 |
#IMPLIED |
元素实例可以选择是否包含该属性 |
#FIXED+固定值 |
属性值固定为指定的值,如果元素中不包含该属性,解析器会自动将属性值设置为固定值 |
默认值 |
如果元素中不包含该属性,解析器会自动将默认值设置为属性值;也可以用其他属性值覆盖默认值 |
分享到:
相关推荐
XML的DTD(文档类型定义)是一种用于定义XML文档合法构造的机制。DTD在XML中扮演着至关重要的角色,它不仅定义了XML文档的结构,还规定了文档中元素和属性的类型和语法。 首先,DTD通过一种特定的语法提供了对XML...
a) DTD是Document Type Defintion的缩写,即文档类型定义。DTD用来描述XML文档的结构。 二、 DTD可能包含的内容: a) 元素的定义规则。 b) 元素之间的关系规则。 c) 属性的定义规则。 三、 DTD的作用: a) DTD使每个...
XML文档类型定义(DTD)是XML文档结构的重要组成部分,它为XML文档设定了规范和约束,确保了数据的准确性和一致性。本教程旨在深入讲解DTD的概念、编写方式、使用方法,以及它与XML Schema的区别和联系。 XML的核心...
这里,"文档类型名"是XML文档所使用的DTD的名字,"DTD具体内容"可以是内部DTD的定义,也可以是外部DTD的引用。 **内部DTD和外部DTD** - **内部DTD**:定义在XML文档内部,将DTD的规则直接包含在XML文档中。适用于...
1. DTD(Document Type Definition)的定义:DTD是用于定义XML文档结构和约束的文档类型定义语言。它可以用来定义XML元素、属性、实体等的结构和约束。 2. DTD的引用:DTD可以被引用到XML文档中,以便对XML文档进行...
文档类型定义(DTD,Document Type Definition)是一种用于规范XML文档结构的语言,确保XML文档符合预定义的规则。DTD通过定义元素、属性、实体等来创建一套文档约束,从而帮助解析器验证XML文档的有效性。 在XML文...
**DTD(Document Type Definition)** 是XML(Extensible Markup Language)文档类型定义的缩写,它是XML规范的一部分,用于定义XML文档的结构和元素。在XML文档中,DTD的作用是确保文档内容遵循预设的规则,即所有...
DTD,全称为Document Type Definition,是XML文档类型定义的一种方法,用于规定XML文档的结构和合法内容。通过DTD,我们可以确保XML文档遵循特定的规则,从而使得数据更加规范和可读。在XML文档中,DTD有两种声明...
XML文档类型定义(DTD,Document Type Definition)是XML语言中用于规范和验证XML文档结构的一种方式。DTD通过定义文档元素、属性、实体等规则,确保XML文档的数据正确性和有效性,从而保证了信息交换的准确无误。 ...
然而,在离线状态下,当遇到框架升级或引入新版本DTD(Document Type Definition,文档类型定义)时,MyEclipse的默认行为可能无法满足需求,导致文档校验失效。本文旨在深入探讨这一问题,并提供一种有效的解决方案...
`sql-map-2.dtd`是Ibatis 2.x版本的SQL Map配置文件的DTD文档,它定义了XML文件中各个元素的结构和规则。通过遵循这个DTD,开发者可以正确编写出符合Ibatis规范的XML映射文件,从而实现数据访问层的功能。 以下是...
《XML高级编程_第3章文档类型定义》深入探讨了XML文档类型定义(Document Type Definition,简称DTD)的概念及其在XML编程中的重要性。DTD是一种用于定义XML文档结构的规范,它不仅确保了文档的格式正确,还为文档...
DTD文档类型定义是用来定义XML文档结构的一套规则。它主要用于约束XML文档中的标签、属性和内容等元素,确保XML文档符合一定的格式要求。DTD可以分为内部DTD和外部DTD两种类型: - **3.1 内部DTD文档** 内部DTD是...
在XML(可扩展标记语言)文档中,DTD(文档类型定义)是一种重要的元数据,用于定义文档结构和元素规则。DTD允许我们规范XML文件的结构,确保数据的准确性和一致性。本文将深入探讨如何通过外部DTD将DTD文件与XML...
XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。当应用是通过用户上传的XML文件或POST请求进行数唱的传输,并日应用没有禁止XNML引用外部实体,也没有过滤用户提交的XML数据,那么就会产生XML外部实体...
testng使用的testng.xml文档的文档类型定义文件,可用于核对xml文件的文档结构及合法元素
**文档类型定义**(Document Type Definition, DTD)是一套关于标记语言的语法规则,主要用于定义XML文档的结构和内容。DTD作为XML 1.0规范的一部分,是XML文件验证的重要组成部分,通过它来确保XML文档的格式正确无误...