zoukankan      html  css  js  c++  java
  • DOCTYPE和namespace

    有朋友问:不明白为什么有了 DOCTYPE 还要 namespace,他俩不是一个作用么?

    其实不然,先让我们看看网上对它们的定义:

    什么是 DOCTYPE?

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

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

    什么是namespace?

    由于 XML 允许你自己定义自己的标识,你定义的标识和其他人定义的标识有可能相同,但表示不同的意义。当文件交换或者共享的时候就容易产生错误。为了避免这种错误发生,XML 采用名字空间声明,允许你通过一个网址指向来识别你的标识。

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

    XHTML 是 HTML 向 XML 过渡的标识语言,它需要符合 XML 文档规则,因此也需要定义名字空间。又因为 XHTML1.0 不能自定义标识,所以它的名字空间都相同,就是”http://www.w3.org/1999/xhtml”。

    对于 DOCTYPE 和 namespace ,我们可以这样来比方,DOCTYPE 相当于是宪法,而 namespace 相当于是地方法,两者之间互补而不矛盾,并遵循一定的规则。

    但至少到现在 namespace 在 xhtml 中的作用还没显现,“XHTML1.0 不能自定义标识,所以它的名字空间都相同”,或许可以理解是为了预留向后兼容。

  • 相关阅读:
    DAS存储未死,再次欲获重生
    Minimum edit distance(levenshtein distance)(最小编辑距离)初探
    AC自己主动机
    手动脱UPX 壳实战
    edge中断分析
    ubuntu默认的Python版本号修改
    Linux 下 pushd,popd,cd- 用法
    目标检测算法的历史及分类
    openjtag 的硬件连接踩坑历程
    ubuntu 16.04 python版本切换(python2和python3)
  • 原文地址:https://www.cnblogs.com/analyzer/p/1203097.html
Copyright © 2011-2022 走看看