zoukankan      html  css  js  c++  java
  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">详解

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">

    声明了文档的根元素是 html,它在公共标识符被定义为 "-//W3C//DTD XHTML 1.0 Transitional//EN" 的 DTD 中进行了定义。浏览器将明白如何寻找匹配此公共标识符的 DTD。
    如果找不到,浏览器将使用公共标识符后面的 URL 作为寻找 DTD 的位置。
    该标签可声明三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。

    先看第一行,<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    它表示声明doctype。如果一个网页没有声明doctype,它就会以默认的doctype来解析文档所有标签和css样式,ff和ie的解释标准是不一样的,所以可能会出现误差和问题。

    语法:

    html 顶级元素 可用性 注册//组织//类型 标签//定义 语言url

    !DOCTYPE html 是文档类型命令,命令下包含文档的顶级元素即html,指定DTD中的顶级元素为html。

    PUBLIC 文档类型可用性,默认是公开PUBLIC,可公开访问的对象。另还有system 系统资源,如本地文件或 url。

    -  该字符表示注册的意思,指定由国际标准化组织(iso)注册,加号+表示注册,减号-表示没有注册。W3C组织是没有注册的所以用减号-。

    DTD XHTML 1.0   DTD定义文档类型,类型是XHTML,版本号是1.0。

    Transitional      定义:指定文档类型定义。包含三种类型:框架型(frameset),严谨型(strict)和过渡型(transitional)。

    EN     指文档语言,即用于创建所引用对象的自然语言编码系统。该语言定义已编写为 iso 639 语言代码(大写两个字母)。 en 默认。英语。

    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd      表示DTD规则引入的URL地址。可以下载该DTD下来看一下http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd

    *************************************************************************************************************** 

    再看第二行:<html xmlns="http://www.w3.org/1999/xhtml">

    xmlns是XHTML namespace的缩写。名字空间,相当于文档的一个名字。

     

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

    例如:

    A定义了如下xml标签:

    <document>
        <name>书名</name>
        <author>作者</author>
        <content>目录</content>
    </document>

    B定义了如下xml标签:

    <document>
        <title>论文题目</title>
        <author>作者</author>
        <content>论文内容</content>
    </document>

    A和B都有content标签,但A表示书的目录,而B表示论文内容。所以为了区分两个文档的content,给各自加上一个名字空间,这样就能正确解析它们的标签语义了:

    <document xmlns="http://www.test.com/a">
        <name>书名</name>
        <author>作者</author>
        <content>目录</content>
    </document>

    B定义了如下xml标签:

    <document xmlns="http://www.test.com/b">
        <title>论文题目</title>
        <author>作者</author>
        <content>论文内容</content>
    </document>


    XHTML是HTML到xml过度的一种标记语言,它需要符合xml文档规则,因此,也需要定义名字空间,又因为XHTML1.0不能自定义标识,所以,它的名字空间都相同,固定为:http://www.w3.org/1999/xhtml

    xhtml的名字空间永远都是固定的,不变的,考虑到xml的兼容,所以给它加上名字空间;但其实它可要可不要,有些多余,所以在html5中将名字空间删除了




  • 相关阅读:
    poj 3159 Candies
    强连通分量——Tarjan算法
    nyoj 次方求模
    nyoj 快速查找素数
    nyoj 光棍节的快乐
    拓扑排序
    快速幂取模
    nyoj 最大素因子
    素数打表
    nyoj 数的长度
  • 原文地址:https://www.cnblogs.com/sjd1118/p/7216441.html
Copyright © 2011-2022 走看看