什么是dtd文件,为什么需要

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是dtd文件,为什么需要相关的知识,希望对你有一定的参考价值。

DOCTYPE是document type(文档类型)的简写,用来说明你用的Xhtml或者HTML是什么版本。

其中的DTD(例如上例中的xhtml1-transitional.dtd)叫文档类型定义,里面包含了文档的规则,浏览器就根据你定义的DTD来解释你页面的标识,并展现出来。

要建立符合标准的网页,DOCTYPE声明是必不可少的关键组成部分;除非你的XHTML确定了一个正确的DOCTYPE,否则你的标识和CSS都不会生效。

XHTML 1.0 提供了三种DTD声明可供选择:

* 过渡的(Transitional):要求非常宽松的DTD,它允许你继续使用HTML4.01的标识(但是要符合xhtml的写法),完整代码如下:

* 严格的(Strict):要求严格的DTD,你不能使用任何表现层的标识和属性,例如
,完整代码如下:

* 框架的(Frameset):专门针对框架页面设计使用的DTD,如果你的页面中包含有框架,需要采用这种DTD,完整代码如下:

我们选择什么样的DOCTYPE

理想情况当然是严格的DTD,但对于我们大多数刚接触web标准的设计师来说,过渡的DTD(XHTML 1.0 Transitional)是目前理想选择。因为这种DTD还允许我们使用表现层的标识、元素和属性,也比较容易通过W3C的代码校验。

注:上面说的"表现层的标识、属性"是指那些纯粹用来控制表现的tag,例如用于排版的表格、背景颜色标识等。在XHTML中标识是用来表示结构的,而不是用来实现表现形式,我们过渡的目的是最终实现数据和表现相分离。

打个比方:人体模特换衣服。模特就好比数据,衣服则是表现形式,模特和衣服是分离的,这样你就可以随意换衣服。而原来HTML4中,数据和表现是混杂在一起的,要一次性换个表现形式非常困难。呵呵,有点抽象了,这个概念需要我们在应用过程中逐步领会。

补充

DOCTYPE声明必须放在每一个XHTML文档最顶部,在所有代码和标识之上。

更多细节可以访问W3C的网站
参考技术A DTD相当于是编写XML文件的代码提示蓝本,在XML文件中声明DTD的ID或者URL,再在MyEclipse或者Eclipse中配置一下,重新打开这个XML文件,就可以用alt+/获得像编写JAVA代码一样的提示功能。具体的配置方法可以百度一下~
当然,这个文件主要的功能是验证XML文件编写的合法性,也就是一个约束,要求你只能按DTD定义的格式写。
建议去看一下XML相关知识。

DTD到底是啥?

【中文标题】DTD到底是啥?【英文标题】:What is DTD exactly?DTD到底是什么? 【发布时间】:2012-03-07 15:10:20 【问题描述】:

我在我的文档中多次使用 DTD,但我从来不知道它的意义。我也尝试了解W3Schools tutorial of DTD。但我觉得它太理论化了。

DTD究竟有什么意义,为什么类型定义如此重要?

【问题讨论】:

也相关:What is difference between XML Schema and DTD? 【参考方案1】:

把它想象成有点像数据库的架构——我们习惯于在普通的关系数据库中只能使用已经声明的列,并且必须插入正确类型的数据在他们之中。嗯,DTD 对 XML 文档的作用大致相同。

【讨论】:

谢谢..记住这个类比,w3schools tuts 开始对我有意义。 :) 请注意,DTD 已被弃用,取而代之的是更具声明性和更强大的 XSD。【参考方案2】:

DTD 正是 XML 文档必须遵循的一组规则。用 XML 文档检查这些规则,如果正确则“有效”,否则“无效”

【讨论】:

以上是关于什么是dtd文件,为什么需要的主要内容,如果未能解决你的问题,请参考以下文章

什么是DTD规范?

XML约束

2.xml约束技术----------dtd约束

DTD 或 XML 模式。哪一个更好? [关闭]

如何自定义xml文件

懂XML的进!