我真的不明白XHTML严格的魅力.内联JavaScript通常需要一个大鼠的转义嵌套,以使其与XHTML兼容,并与MSIE 5和6半向后兼容.然后,在用户输入上没有足够的OCD问题,以确保您不会错过任何非法字符.它似乎比它的价值更多的努力.没关系,几乎每个我一直在工作的开发人员都忘记确保从服务器返回的内容类型被重置为XHTML页面,从text/html重新设置为application/xhtml + xml.
希望我知道博主的名字,但有人指出,大多数所谓的符合XHTML标准的网站和开源软件包实际上都不是因为上一期,忘记正确设置内容类型标题.
我希望了解为什么XHTML是有用的,或者构建足够的参数库以防止它在我影响的未来项目中被使用.
XHTML1与HTML4和Strict与Transitional是完全正交的问题.
XML可能不会给今天的浏览器带来任何巨大的优势,但是在服务器端,使用XML处理文档比使用旧学校SGML(除了不是真正的HTML4)解决这些问题要容易一些.
限制自己使用[X] HTML Strict本身并没有实现任何目的,只是它不鼓励使用你不应该使用的旧的,不易维护的技术.
内联javascript通常需要一个大鼠的逃逸巢,以使其与XHTML兼容
只要你不使用<或&字符,你就可以逃脱.并且'// <[CDATA ['并不比'< - - '更糟糕的是在过去.
无论如何,保持外部脚本更易于管理; 你不想做任何有意义的内联.
然后就是在用户输入上没有足够的强迫症的问题,以确保你不会错过任何非法字符.
带外字符在HTML4 Transitional中与在XHTML1 Strict中完全无效.
如果您接受用户提交的HTML并且没有使用足够的细齿梳来检查/转义它以防止形成良好错误,那么您遇到的问题要比遵守doctype要大得多.您将通过注入攻击并使您的站点容易受到跨站点脚本安全漏洞的攻击.
忘记确保从服务器返回的内容类型被重置为XHTML页面从text/html到application/html + xml.
这不是'遗忘',而是故意的:今天提供application/xhtml + xml并没有多少意义.要考虑IE,你必须嗅到UA,然后确保你理解在两种解析模式中弹出的CSS和JavaScript差异......你可以这样做来证明你的技术实力,但它并没有真正让你得到任何东西.
将XHTML作为遗留HTML提供服务可能并不理想,但它可以让您保持更简单,更易处理的XML语法(以及与SVG等其他XML语言的潜在互操作性),同时仍然适合浏览器.
人们抱怨良构错误的挑剔,但是直接找到这些错误以便你修复它们比将它们静静地留在那里更好,准备绊倒一些未来的浏览器.
关于使用XHTML @ Beware of XHTML的帖子很棒.
希望它有所帮助,Bruno Figueiredo
XHTML 1.0严格尝试解决四个问题:
XML是W3C技术,HTML4没有使用它.不是你的问题.
在表现主义方面,严格要求在理论上比过渡更纯粹.但这不是XHTML与HTML问题.
据说XML解析器更简单.(不完全正确;处理DTD部分的代码非常复杂.)现在,您可以获得现成的 XML和HTML解析器,因此这不是您的问题.(旁白:移动的说法完全是虚假的.)
application/xhtml + xml(虽然无效XHTML 1.0 Strict!)允许你混合其他词汇表.如果你想今天使用内联MathML或SVG,这是今天使用application/xhtml + xml的主要原因.但是,HTML5工作的方向是可以在text/html中使用MathML和SVG.