DTD介绍1

DTD(Document Type Definition,文档类型定义),有了DTD就可以检测XML文档的结构是否正确。通过在XML文档中包含文档类型声明,来建立当前文档和DTD的关联。当进行有效性验证的XML处理器读到该指令时,它获取DTD,并根据其中定义的规则对文档进行检验。文档类型声明必须位于XML声明之后,且在根元素(文档元素)之前。

1.内部DTD

<?xml version="1.0" encoding='gb2312' standalone='yes'?>

<!DOCTYPE greeting [

     <!ELEMENT greeting (#PCDATA)>

]>

文档类型声明由<!开始,后面紧跟一个关键字DOCTYPE,然后是文档根元素的名称,接下来是标记声明块,标记声明块是放在左中括号[和右中括号]之间,由一个或多个标记声明构成,最后由>结束。在DTD中,所有的关键字都是大写的,不过定义的元素和属性的大小写可以任意指定。

2.外部DTD

在文档类型声明时,用关键字SYSTEM或PUBLIC来指出外部DTD文件的位置,使用SYSTEM关键字的声明语法如下:

<!DOCTYPE 根元素的名字 SYSTEM "外部DTD文件的URI">

SYSTEM关键字表示文档使用的是私有的DTD文件,"外部DTD文件的URI"可以是相当URI或者绝对URI,相对URI是相对于文档类型声明所在的文档的位置。

使用PUBLIC关键字的声明语法如下:

<!DOCTYPE 根元素的名字 PUBLIC"DTD的名称""外部DTD文件的URI">

"DTD的名称(公共标识符)"可以存放在某个公共的地方,XML处理程序会根据名称按照某种方式去检索DTD,如果XML处理器不能根据名称检索到DTD,就会使用"外部DTD文件的URI(系统标识符)"来查找该DTD。

"DTD的名称"规则:

它们只能包含ASCII字母和数字字符,空格,回车符,换行符和一些标点符号。

如果一项DTD是ISO标准,它的名称要以字符串"ISO"开始,如果是一个非ISO的标准组织批准的DTD,它的名称以+开始,其它的则以-开始。

这些字符后接//和DTD所有者的名字,之后是另一个//和DTD描述的文档类型,接着又是//后接ISO 639语言标识符,如EN表示英语(参见http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt)。

例如:-//xin sun//DTD HR 1.0//ZH

我们可以通过在声明中通过standalone="yes"来定义我们的文档不依赖于外部文档。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值