[转][HTML5] HTML5开发入门--第3回 HTML5的出现对XHTML有何影响?

[url]http://bbs.9ria.com/viewthread.php?tid=81434&extra=page%3D1%26amp%3Borderby%3Ddateline%26amp%3Bfilter%3D2592000[/url]


资讯类型: 翻译
来源页面: http://www.atmarkit.co.jp/fwcr/design/benkyo/html5appli03/01.html
资讯原标题: HTML5“とか”アプリ開発入門 -- 第3回 HTML5の登場で、XHTMLは結局どうなったの?
资讯原作者: 白石俊平
翻译词数: 2512 词
我的评论:
对这篇文你有啥看法,跟贴说说吧!欢迎口水和板砖,哈哈。欢迎大家和我们一同分享更多资讯。
本帖最后由 flashjerry 于 2011-4-21 17:10 编辑


第3回 HTML5的出现对XHTML有何影响?

XHTML尚有用武之地!
在上一回《使用HTML5标记的基础知识》中,我们对HTML5的语法进行了讲解。
这回,我们将延续第1回《何为HTML5》的话题,作为HTML5的相关基础知识的梳理,来讲解一下HTML5与XHTML的关系。

□ 再次确认XHTML所处的位置
XHTML简而言之就是“以HTML语法描述的XML文档”。(严格来说,XHTML1.0是这样的。到了XHTML1.1和XHTML1.2,技术上的意义就有些不同了。)
大家或都知道,在HTML5出现之前,由于受到W3C的热切推动,使用XHTML标记被大为推荐。但很遗憾,在Web浏览器市场占有最大份额的Internet Explorer(IE)在版本6之前并不支持XHTML,这在根本上也阻碍了XHTML的普及。
另一方面,XHTML拥有“可以较好地处理XSLT等XML相关技术”以及“具有较为严格的语法使其与Dreamweaver等创作工具有很高的配合度”等优点。而且IE对于XHTML和Web标准的支持,自版本7、8开始逐渐改进。在版本9中也将获得更好的支持。
了解了着以上这些,再来看看XHTML所处的位置,对于Web技术者和设计师来讲也是有价值的吧。

□ 由DOM决定HTML5语法
从HTML5开始,使用了更精简的HTML语法(请看上一回中“HTML5语法中需要掌握的3个要点”章节),这或许削弱了XHTML的存在感。但事实上XHTML尚有用武之地。在HTML5规范中,XHTML语法与HTML语法受到了同等对待。并且,HTML5的语法是由DOM(Document Object Model)而非DTD来规定。
DOM不能通过人工方式读写,它是内存中的对象。人工可读的是将DOM对象序列化的HTML/XHTML。

什么是HTML5时代的XHTML(XHTML5)?
在名为“DOM5 HTML”的DOM规范中规定了元素的详细内容。“DOM5 HTML”的序列化形式分别称为“HTML5”和“XHTML5”。它们之间的关系可以用下图表示。

[img]http://dl.iteye.com/upload/attachment/469634/3ea3cfc3-d735-3d3b-abad-f1948e1b1965.jpg[/img]

图1 「DOM5 HTML」「HTML5」「XHTML5」之间的关系


那么,我们来了解一下HTML5时代的XHTML(XHTML5)的规范。虽然如此,如果是了解XHTML的人,若说“几乎没有变化”也不为过。

□ XHTML5的MIME类型
如果文档的MIME类型为“text/xml”、“application/xml”、“+xml”的4个字符结尾的子类型(如
“application/xhtml+xml”等),Web浏览器会判断其为XHTML文档。

□ XHTML5字符编码的设定
在文档开头的XML声明中进行字符编码的设定。在介绍HTML语法时,曾提到过使用<meta>元素设置字符编码(<meta charset="字符编码名称"/>),不过在XHTML中不能这样声明。
<?xml version="1.0" encoding="UTF-8"?>



□ XHTML5的DOCTYPE
 可以包含DOCTYPE,但HTML5的规范中不存在DTD。请看下例
<!DOCTYPE html>



顺便提一下,在目前W3C的验证器上,根据有无DOCTYPE的判定,会区分出(X)HTML5和XHTML 1.0。因此,使用HTML5标记XHTML时,写上DOCTYPE会比较妥帖。

□ XHTML5的命名空间
 XHTML元素集属于“http://www.w3.org/1999/xhtml”命名空间。一般在根元素<html>中作为默认命名空间设置。
<html xmlns="http://www.w3.org/1999/xhtml">



□ XHTML5的语法
语法上毫无疑问是遵循XML的啦。和HTML语法有所不同,属性的引用符是必须的,结束标签也不能省略。此外,对于没有内容的元素(空元素),“<元素名></元素名>”可以简写为“<元素名 />”。还有,HTML语法中可以省略的<head>和<body>元素也不能省略。

在Web上进行HTML5的语法验证
结合上述说明,我们来看下面这个XHTML的例子。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>XHTML5标记示例</title>
</head>
<body>
<p>这个HTML是遵循XHTML5语法<br/>标记的。</p>
</body>
</html>



将这个文档放到W3C提供的Unicorn验证服务上进行验证。

[img]http://dl.iteye.com/upload/attachment/469636/6577f12c-394f-31be-bbab-fec46575a18f.gif[/img]

图2 Unicorn验证

选择“直接输入”标签,显示输入标记内容的文本框。复制上面内容,文本框下面的MIME类型选择“application/xhtml+xml”,按下“Check”按钮。

[img]http://dl.iteye.com/upload/attachment/469638/dfa31b47-8ed6-387b-afbe-f3891c928005.gif[/img]

图3 验证结果

验证通过(这里出现警告是因为使用了日语)。
另外,请注意验证结果里显示了“HTML5”。这是因为文档中包含了空的DOCTYPE(<!DOCTYPE html>),验证器将它解释为(X)HTML5文档的缘故。
下面我们去掉DOCTYPE来验证一下看看。

[img]http://dl.iteye.com/upload/attachment/469640/2f6d4819-683b-3a5a-a168-1beb6ff9871e.gif[/img]

图4 没有DOCTYPE的验证结果


判定结果为“XHTML 1.0 Transitional”。在这里,当然不能使用HTML5的新元素(<section>等。在以后进行说明)。一旦使用,就会报错。

XHTML的使命尚未终结
本回,讲解了HTML5中的XHTML处理。即使到了HTML5时代,XHTML的使命也尚未终结。其“可作为XML处理”的优点对于众多工具和框架来说依然是个至宝。
考虑到能与其它XML技术无缝整合,以Semantics Web(W3C提出的语意网标准技术,Web人工智能发展计划)为始,蕴藏着无限可能。
下回开始,将会介绍HTML5的新元素。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值