精彩专题推荐:建站之入门课 建站之必修课 建站之关键课 网站价值所在 流量提高专题 css+div 标准 个人网站打造全过程
返回建站学首页
导航:
建站首页 | 网站设计 | 网站开发 | 网站运营 | 网页软件 | 建站指南 | 搜索优化 | 图像处理 | 视频教程 | 书籍教程 | 建站专题
当前位置:首页>网站设计>html/xhtml教程>正文

正确使用XHTML的冒险


来源:网络整理 时间:07-09-17 点击: 点击这里收藏本文

原文:http://www.456bereastreet.com/archive/200501/the_perils_of_using_xhtml_properly/
作者:Roger Johansson
翻译:Neo (http://www.omemo.net/neo)
修正:JunChen

JunChen注:omemo.net网站似乎已经挂掉,链接都失效了。文章写得非常不错,一直是Best of 456 Berea Street。在这里发布的时候我进行了少量代码上和翻译上的修改,以忠实原著。

我使用 XHTML有些年了,但直至去年夏天我才着眼于如何正确使用,那就是说,以application/xhtml+xmlMIME类型来伺服(server)它。虽然我遇到了这些问题,但我知道问题远非如此。就如你即将发现的一样,当你开始使用真正的 XHTML,你会遭遇很多似乎细小但让人困惑的问题。

请注意这不是一篇讨论支持或反对使用 XHTML的文章。我只是写下我所知道的潜在的易犯错误,并且让你自己来决定自己的选择: HTML 4.01,为所有浏览器伺服为text/htmlXHTML 1.0或者为能够处理其的浏览器伺服为application/xhtml+xml而其他浏览器则伺服为text/htmlXHTML 1.0。否则有些东西会完全不一样。

只有在问题发生的时候,我才有机会去了解和认识这些东西。有些情况下我必须花很多时间来查找问题和求助于其他人,来寻求一个解决方案。但我在其中学到不少东西,我会把我已经使用 XHTML后应该知道的都告诉你。

注意我这里提及的问题只会发生在能正确处理application/xhtml+xml MIME类型的用户代理中,而因此 XHTML被作为 XML。这也可能是这里不提及 XHTML的早期使用的原因——很少有人使用这样的浏览器,所以几乎不会有人因只伺服为text/htmlXHTML所烦忧。

今天,实际上把 XHTML伺服为application/xhtml+xml正慢慢变得平常。我所知道的理由有两个:

  1. 使用Firefox,Mozilla,Opera,Safari和其他兼容 XHTML浏览器的人数增加了很多,所以你不再仅仅为自己和伙伴这样做。嗯。或许你就这样做,当将影响更多人。
  2. 在web开发者之间,对 XHTML的真正面目是什么的觉醒越来越多了。使用 XHTML已经有多次多时的热烈的讨论,尤其是伺服为text/html的时候。如果你参与了任何一次讨论,你知道我在说什么。

假如你,像我,决定实现某些类型的content negotiation和在传送 XHTML的时候使用正确的媒体类型,你需要知道什么能(和将)在你发布的文档中发生,并且知道怎样避免问题的发生。对于对content negotiation同进行content negotiation的脚本例子有兴趣的读者,我推荐你阅读Content NegotiationServing up XHTML with the correct MIME type。还有很多这种类型的文章,但这是我读到的最精彩的两篇。

每一个基本的教程都有一些 HTMLXHTML的明显区别:元素和属性名字使用小写,属性值总要用引号。不要使用简化属性,确保所有的元素都有结束标签和没有不正确的嵌套等等。但是,当 XHTML伺服为application/xhtml+xml时还需要知道更多东西。

良好的结构是必须的

文档必须是良好的结构(well-formed)的 XML(跟合法的(valid) XHTML不必然相同)。就是必须,不是可能。

如果文档结构不好,符合标准的浏览器(当前我知道Mozilla,Firefox,Netscape,Camino,Opera,Safari和OmniWeb——相当多的浏览器除了IE)将会显示错误信息并且以某种方式中止处理文档。

此外,这还意味着不再使用未编码的"&"号。

9 7 3 1 2 3 4 8 :

  把此文章收藏到:          
广而告之
文章搜索
  • Google JZxue.Com

关于我们 | 联系我们 | 友情链接 | 网站地图
Copyright © 2005 - 2006 建站学 All rights reserved.