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

王朝c#·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

针对经典论坛中小奀的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去验证自己的数据。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航