我想知道我是否应该对标记语言感到烦恼,只要我生成有效的标记.
我读过的文章指出HTML是最好的选择,它们直接来自马的嘴(浏览器实现者!):
http://webkit.org/blog/68/understanding-html-xml-and-xhtml/
https://developer.mozilla.org/en/Mozilla_Web_Developer_FAQ
詹姆斯·班纳特(James Bennet)的其他文章提出了另一个观点,即如果你不是以XML格式提供XHTML,那么你不需要XHTML而是HTML.
http://www.b-list.org/weblog/2008/jun/18/html/
http://www.b-list.org/weblog/2008/jun/21/xhtml/
所以我认为,如果我想触发标准兼容模式,我应该只使用HTML严格验证.但至少在最现代的浏览器(也就是除IE6之外的所有浏览器)中情况已经不是这样了:如果你有有效的XHTML Strict,你仍会触发标准兼容模式,因此,只要我生成有效的标记,为什么要这么麻烦?
我暂时总是使用HTML 4.01严格.HTML 5尚不确定.我曾经是一个顽固的XHTML用户,但我的理由蚀刻了,我更快乐,更有成效.
XHTML的论点通常倾向于"更清晰的标记"或谈论格式良好的标记.这似乎就像一个稻草人的论点,并没有在彻底的殴打下坚持下去.
如果XHTML保证由XML解析器解析,它通常看起来不会比HTML 4.01严格(仅比较严格的doctypes).
首先,必须将URL写成http://example.com/?foo=bar&baz=qux
看起来很尴尬.声明实体类型变旧.
另一件事是标记通常不能很好地翻译为XML树,但是Dom树很好.
HTML 4.01 strict更容易使用并创建有效的网站.您不必在,
或等元素上放置无意义的结束标记.只需添加反斜杠就不会改变任何特定含义.
雅虎的道格拉斯·克罗克福德(Douglas Crockford)表示,最好将标记视为应用程序交付格式.
因此,最简单的交付是什么,更加强大和可靠.这是我最终做出的决定.所有Web浏览器都以不同方式处理XHTML,并且需要重新设置Content-type标头.如果使用"text/xhtml"或"text/xml",则会得到不同的结果.
此外,"text/xml"与REST不能很好地兼容,因为这应该意味着数据的XML序列化,而不是格式化的标记页面(在我看来,Safari通过在text/html之前请求text/xml来解决这个问题.所需的内容类型!)
因此,使用HTML 4.01,因为:
所有浏览器的工作方式都相似
不需要基于内容类型的处理(text/html全面实现)
不像XHTML那么脆弱
HTML 5没有提供任何重要的HTML 4.01严格