<!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中将名字空间删除了


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">详解的更多相关文章

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">的含义

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/x ...

  2. <!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 ...

  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"的作用

    为页面添加正确的DOCTYPE 很多设计师和开发者都不知道什么是DOCTYPE,DOCTYPE有什么用.DOCTYPE是document type的简写.主要用来说明你用的XHTML或者HTML是什么 ...

  4. Vue2.0史上最全入坑教程(中)—— 脚手架代码详解

    书接上文我们说道,如何利用脚手架(vue-cli)构建一个vue项目,本回书我们一起来学习分析下代码. 回顾下创建后的项目目录:   说明:在*.vue文件,template标签里写html代码,且t ...

  5. Windows7 QT5.6.0(64位)使用mysql(64位)环境搭建详解

    1 说明 使用环境为:Windows7 VS2015 QT5.6.0(64位),MYSQL 5.7.13(64位). 网上各种错误.模糊.抽象的资料,配置环境花了半天,痛定思痛,总结出来,方便后来人. ...

  6. IDEA里运行代码时出现Error:scalac: error while loading JUnit4, Scala signature JUnit4 has wrong version expected: 5.0 found: 4.1 in JUnit4.class错误的解决办法(图文详解)

    不多说,直接上干货!  问题详情 当出现这类错误时是由于版本不匹配造成的 Information:// : - Compilation completed with errors and warnin ...

  7. 安装mysql8.0.11及修改root密码、连接navicat for mysql的思路详解

    1.1. 下载: 官网下载zip包,我下载的是64位的: 下载地址:https://dev.mysql.com/downloads/mysql/ 下载zip的包: 下载后解压:(解压在哪个盘都可以的) ...

  8. XHTML 1.0 的三种 XML 文档类型 DOCTYPE

    XHTML 1.0 的三种 XML 文档类型 XHTML 1.0 规定了三种 XML 文档类型 XHTML 1.0 Strict <!DOCTYPE html PUBLIC "-//W ...

  9. DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义

    DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义 今天看到一篇CSS应用的一个友好搜索,我按网页上的代码复制.粘贴后预览时总达不到效果,而直接拷贝他的实例却能达到效果, ...

随机推荐

  1. Shell 研究

    清空文件 https://blog.csdn.net/u011192270/article/details/47804951 写入多行内容到文件 vi rewrite.sh, <<EOF ...

  2. 快速上手npm

    1.npm的安装和更新 2.npm的常用操作 3.npm的常用配置项 4.npm常用命令速查表

  3. 一个兼容性比较好的图片左右滚动的js

    下载地址:http://www.cnblogs.com/RightDear/admin/Files.aspx 文件:shhds.rar

  4. 用EasyDarwin进行IPTV rtsp mpeg-ts smil流的转发和分发直播服务

    对RTSP/RTP的转发和分发一直都是EasyDarwin的基础功能,尤其是在安防行业中,EasyDarwin非常贴合安防监控的需求,但一直未尝试用EasyDarwin进行IPTV的RTSP流进行转发 ...

  5. 九度OJ 1133:学分绩点 (加权平均数)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1333 解决:702 题目描述: 北京大学对本科生的成绩施行平均学分绩点制(GPA).既将学生的实际考分根据不同的学科的不同学分按一定的公式 ...

  6. 激活win10企业长期服务版

    win10 2016 长期服务版的ISO文件中本身就带有KMS激活KEY,不用输入任何KEY,连接网络进入CMD,只要输入:slmgr /skms kms.digiboy.irslmgr /ato这两 ...

  7. python基础知识踩点

    1.注释 在python中,注释是以任何存在于#右侧的文字,其主要作用是写给程序读者看的笔记. 例如 单行注释 >>print("hello world") #这是一个 ...

  8. [RK3288][Android6.0] 调试笔记 --- eMMC分区号和名字的对应【转】

    本文转载自:http://blog.csdn.net/kris_fei/article/details/77318410 Platform: Rockchip OS: Android 6.0 Kern ...

  9. MySQL登陆及配置

    一.mysql用户登录 mysql –u用户名 [–h主机名或者IP地址] –p密码 说明:用户名是你登录的用 户,主机名或者IP地址为可选项,如果是本地连接则不需要,远程连接需要填写,密码是对应用户 ...

  10. bzoj3669【NOI2014】魔法森林

    题面一道最短路好题…… 开始和喻队长讨论了一下,喻队长一眼切:枚举ai的上界MAX,每次把ai小于等于MAX的边加到图里,以bi为边权跑最短路. 但是,这样做是O(ai*m)的,妥妥TLE,于是我们想 ...