DTD Document Type Definition 文档类型定义。我们在XML中可以自定义标记,那XML解析器怎么认识这些自定义标记并根据自定义标记的处理法则来处理元素呢?这需要DTD,它是我们用来定义我们自己定义的标记的含义,我们自己定义元素的相关属性的文档。
DTD与XML是类与对象,数据库表结构与记录的关系。
符合XML规则(包括必须有XML声明语句;必须有且只有一个根元素;标记大小写敏感;属性值用引号;标记成对,空标记关闭;元素正确嵌套)的XML文档称为结构完成的XML文档;符合XML规则并且符合DTD验证的XML文档称为合法的XML文档。IE只验证结构完整性不验证合法性,XMLSPY验证合法性。
DTD分类:内部DTD;外部DTD;内外结合的DTD。
外部DTD的优点:被多个XML共享,保持统一的数据交换格式,不同组织的人使用同一个通用的DTD来交换数据;应用程序可以使用一个标准DTD效验从外部世界接受来的XML数据是否有效。
下面是一个lsmx.dtd
<?xml version="1.0" encoding="GB2312"?>
<!ELEMENT 家庭 (人+, 家电*)>
<!ELEMENT 人 (#PCDATA)>
<!ELEMENT 家电 EMPTY>
<!ATTLIST 人
名字 CDATA #REQUIRED
性别 (男 | 女) #REQUIRED
年龄 CDATA #REQUIRED
爱好 CDATA #IMPLIED
>
<!ATTLIST 家电
名称 CDATA #REQUIRED
数量 CDATA #REQUIRED
说明 CDATA #IMPLIED
>
元素定义
<!ELEMENT NAME CONTENT>
关键字 元素名称元素类型
元素类型
1, EMPTY:空元素,但可以有属性。<mytag id=”001”/>。
2, ANY:含任何DTD中定义的元素内容。
3, #PCDATA:纯文本,不能有任何自元素。<!ELEMENT 人 (#PCDATA)>。
4, 组合类型:<!ELEMENT 家庭 (人+, 家电*)>。
符号含义:+最少出现一次;*可以出现任意次,包括0次;?出现0或一次;(a,b,c)a,b,c必须出现,并且按指定位置出现。
属性定义
<!ATTLIST 元素名称
属性名称属性类型属性特点
··········
>
属性类型:
1, CDATA:只包含字符数据。
2, ID:类似主键,必须唯一。
3, NMTOKEN 不包含中文的CDATA。
4, 枚举事先定义好一些值,该属性的值必须匹配列出的这些数值。
性别 (男 | 女) #REQUIRED。
属性特点:
1,#REQUIREDNOTNULL 非空。
2,#IMPLIED 可写可不写。
3,#FIXED value 固定值,不可变。
属性名 CDATA#FIXED“固定值”
5, Default value 默认值
实现:
<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE 家庭 SYSTEM "lsmx.dtd">
<家庭>
<人名字="郭大路" 性别="男" 年龄="25"/>
<人名字="李寻欢" 性别="男" 年龄="38" 爱好="作个教育家和伟人"/>
<家电名称="彩电" 数量="3"/>
</家庭>
分享到:
相关推荐
testng使用的testng.xml文档的文档类型定义文件,可用于核对xml文件的文档结构及合法元素
DTD是文档类型定义的英文缩写,包含在文档类型声明中,它定义了某种文档类型的所有规则。简单来说,DTD的作用就是定义允许哪些或者不允许哪些内容在文档中出现。在DTD中,用户可以控制文档类型的所有元素、属性以及...
适用于需要了解xml文档类型的朋友们,方便大家更加了解xml的相关知识。
a) DTD是Document Type Defintion的缩写,即文档类型定义。DTD用来描述XML文档的结构。 二、 DTD可能包含的内容: a) 元素的定义规则。 b) 元素之间的关系规则。 c) 属性的定义规则。 三、 DTD的作用: a) DTD使每个...
xml实用教程第4章XML文档类型定义.pdf
XML开发文档XML开发文档XML开发文档XML开发文档XML开发文档XML开发文档XML开发文档
XML文档定义(自己整理),新手看看,XML文档定义(自己整理),新手看看。
DTD教程由浅入深讲述了什么是DTD,如何写DTD文件,怎样使用DTD文件,怎样演变为schema,DTD和schema的联系和区别,schema的好处,以及上车吗的使用
XML高级编程_第3章文档类型定义
XML帮助文档 XML帮助文档XML帮助文档XML帮助文档XML帮助文档XML帮助文档XML帮助文档XML帮助文档XML帮助文档XML帮助文档XML帮助文档
JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
TinyXml接口文档.docx TinyXml接口文档.docxTinyXml接口文档.docxTinyXml接口文档.docxTinyXml接口文档.docx
html XML开发文档 html XML开发文档
第8章 文档类型定义和合法性 8.1 文档类型定义 8.2 文档类型声明 8.3 根据DTD的合法性检验 8.4 列出元素 8.5 元素声明 8.6 DTD中的注释 8.7 在文档间共享通用的DTD 8.8 本章小结 第9章 实体和...
XML技术概述文档 XML技术概述文档 XML技术概述文档
tinyxml帮助文档 TinyXML is a simple, small, C++ XML parser that can be easily integrated into other programs.
使用XSLT将XML文档转换成HTML文档.
DTD规范XML文档编写级XML文档的一般书写格式
掌握在XML Schema中如何定义元素和属性,如何使用限制、列表和合并派生自己的简单数据类型,如何定义复杂数据类型,全局/局部元素和数据类型之间的区别;如何将XML Schema文档关联到XML实例数据文档,并完成文档的...
XML 文档对象模型定义访问和操作XML文档的标准方法。 DOM 将 XML 文档作为一个树形结构,而树叶被定义为节点。