DTD指南(1)-DTD的介绍[原创]

博主针对经典论坛中小奀的XML指南未翻译的链接教程进行补充。介绍了DTD定义XML文档合法构建模块的作用,阐述了DTD在XML文档内的内部声明和外部声明的语法格式及示例,还说明了使用DTD可保存格式化数据描述、实现数据交换和验证数据合法性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

针对经典论坛中小奀的XML指南内一些没有翻译的链接教程,
进行一些补充,自己也是初学者,水平有限,恳请朋友们多多指教!
英文站点在http://www.w3schools.com/dtd/default.asp

DTD的介绍

DTD的意图在于定义XML文档的合法构建模块,它通过一系列合法元素来决定了XMl文档的内部结构。
DTD能够在你自己的XML文档内部声明,也可以作为外部来参照

1.内部声明
如果DTD被包含在XML源文件中,它将通过以下语法格式来在"DOCTYPE"中定义:
<!DOCTYPE root-element [element-declarations]>

例1:
<?xml version="1.0"?>
<!DOCTYPE note [
  <!ELEMENT note (to,from,heading,body)>
  <!ELEMENT to      (#PCDATA)>
  <!ELEMENT from    (#PCDATA)>
  <!ELEMENT heading (#PCDATA)>
  <!ELEMENT body    (#PCDATA)>
]>
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend</body>
</note>

上述包含有DTD的XML文档解释如下
<!DOCTYPE note    (在第2行) 定义这是一个类型为note的文档.
<!ELEMENT note    (在第3行) 定义 note 有四个元素: "to,from,heading,body".
<!ELEMENT to        (在第3行) 定义 to 元素类型为 "#PCDATA".
<!ELEMENT from    (在第4行) 定义 from 元素类型为 "#PCDATA".
......

2.外部声明
如果DTD在XML源文件的外部,它将通过以下语法格式来在"DOCTYPE"中定义:
<!DOCTYPE root-element SYSTEM "filename">

例2:
此例XML文档与例1相同,但是使用的是外部的DTD
<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

文件note.dtd包含定义的DTD
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>

看完以上大概介绍,可能大家有这样的疑问,为什么要使用DTD?
1.通过DTD,你的每个XML文件都能保存使用DTD格式化的数据描述。
2.通过DTD,独立于使用者,并使用共同DTD达到数据交换之目的。

你的应用程序可以通过标准的DTD去验证来自外界的数据是否合法,
当然你也可以通过DTD去验证自己的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值