DOCTYPE和namespace

先让我们看看网上对它们的定义:

什么是DOCTYPE?
Quote:
DOCTYPE是document type(文档类型)的简写,用来说明你用的XHTML或者HTML是什么版本。其中的DTD叫文档类型定义,里面包含了文档的规则,浏览器就根据你定义的DTD来解释你页面的标识,并展现出来。

要建立符合标准的网页,DOCTYPE声明是必不可少的关键组成部分;除非你的XHTML确定了一个正确的DOCTYPE,否则你的标识和CSS都不会生效。
什么是namespace?
Quote:
由于xml允许你自己定义自己的标识,你定义的标识和其他人定义的标识有可能相同,但表示不同的意义。当文件交换或者共享的时候就容易产生错误。为了避免这种错误发生,XML采用名字空间声明,允许你通过一个网址指向来识别你的标识。

通俗的解释是:名字空间就是给文档做一个标记,告诉别人,这个文档是属于谁的。只不过这个"谁"用了一个网址来代替。

XHTML是HTML向XML过渡的标识语言,它需要符合XML文档规则,因此也需要定义名字空间。又因为XHTML1.0不能自定义标识,所以它的名字空间都相同,就是"http://www.w3.org/1999/xhtml"。
对于DOCTYPE和namespace,我们可以这样来比方,DOCTYPE相当于是宪法,而namespace相当于是地方法,两者之间互补而不矛盾,并遵循一定的规则。

但至少到现在namespace在xhtml中的作用还没显现,“XHTML1.0不能自定义标识,所以它的名字空间都相同”,或许可以理解是为了预留向后兼容。
posted @ 2007-03-30 13:23  海浪~~  阅读(280)  评论(0编辑  收藏  举报