XHTML严格解决了什么问题?

XHTML严格解决了什么问题?,html,xhtml,project-planning,xhtml-1.0-strict,buzzword-compliance,Html,Xhtml,Project Planning,Xhtml 1.0 Strict,Buzzword Compliance,我真的不明白XHTML的魅力。内联JavaScript通常需要一组转义,以使其与XHTML兼容,并与MSIE 5和6半向后兼容。还有一个问题是,用户输入的OCD不够,无法确保您不会漏掉任何非法字符。这似乎比它的价值更大。尽管如此,几乎所有与我一起工作的开发人员都忘了确保从服务器返回的内容类型对于从text/html到application/XHTML+xml的XHTML页面被重置 但愿我知道博主的名字,但有人指出,大多数被认为是XHTML兼容的网站和开源软件包实际上并不是因为上一个问题,忘记了正

我真的不明白XHTML的魅力。内联JavaScript通常需要一组转义,以使其与XHTML兼容,并与MSIE 5和6半向后兼容。还有一个问题是,用户输入的OCD不够,无法确保您不会漏掉任何非法字符。这似乎比它的价值更大。尽管如此,几乎所有与我一起工作的开发人员都忘了确保从服务器返回的内容类型对于从text/html到application/XHTML+xml的XHTML页面被重置

但愿我知道博主的名字,但有人指出,大多数被认为是XHTML兼容的网站和开源软件包实际上并不是因为上一个问题,忘记了正确设置内容类型标题


我想了解为什么XHTML有用,或者建立足够多的参数库,以防止在我影响的未来项目中使用它。

XHTML很有用,因为创建简单的转换样式表或为其运行自己的解析器要容易得多,XHTML使HTML与我们世界中所有其他基于xml的结构正交,这有两个主要好处

我们在处理xml时使用的设计模式可以应用于html


软件工具同上。

XHTML是定义为XML的,与HTML不同

这意味着您可以使用它做一些非常有用的事情,例如轻松地验证和解析它(因为您知道它是XML,因此可以使用大量可用的工具)


此外,极客喜欢让事情“更正确”;-)

有一篇关于XHTML@用法的文章

希望有帮助,
Bruno Figueiredo

一些测试需要用程序解析HTML吗?然后,使用XHTML


除此之外,HTML4.01(严格的、松散的、过渡的,无论什么)都是完美的“标准”和更少的“麻烦”。

XHTML具有xml的优点。但为什么会有严格的变体呢


我看到了一些与不推荐使用的函数的相似之处。您仍然可以在此版本中使用它们,但它们可能会在下一版本中删除。因此,我认为过渡版本是不推荐使用的。它仍然可以使用,并且在几个版本中也可以使用,但是如果您想为将来构建,请使用严格版本。

严格版本旨在通过使内容和样式更难混合,从而使内容和样式之间的分离形式化。Elliotte Rusty Harold在他的一本书中对XHTML有一个很好的描述,下面是关于“”的相关摘录

这是一个全球性的标准问题 这不仅仅是关于xHTML,而是关于世界上所有的标准。你需要把事情弄清楚,从一个版本到另一个版本

xHTML是方形的,它促使编码人员向代码中添加语义值。它与XML完全兼容,因此更易于解析和风格化,等等

请记住,代码不仅仅适用于程序员,机器人也适用于机器。10年后,创建浏览器或库的人将不希望为旧的HTML处理实现相同的复杂规则,而是希望得到尽可能干净的东西

搜索引擎需要依靠一些东西来建立价值之间的语义联系,所以最好只有一种简单的方法

我不是说屏幕阅读器


标准,首先是关于走向一个独特的开放式解决方案,以满足每个人的需要。不仅仅是添加新的闪亮特性。

XHTML1与HTML4以及严格与过渡是完全正交的问题

XML可能不会给今天的浏览器带来任何巨大的优势,但在服务器端,使用XML处理文档要比试图解析旧式SGML(除了真正的HTML4)更容易一个数量级

将自己限制在[X]HTML Strict本身并不能实现任何目标,只是因为它不鼓励使用您无论如何都不应该使用的旧的、不易维护的技术

内联javascript通常需要一组转义,以使其与XHTML兼容

只要不使用字符<或&,就可以不进行任何转义。而且“/<[CDATA[”并不比过去的“<!--”糟糕多少

在任何情况下,将脚本保持在外部都是更易于管理的;您不想做任何有意义的内联操作

还有一个问题是,用户输入的OCD不够,无法确保您不会漏掉任何非法字符

带外字符在HTML4中与在XHTML1中一样无效

如果你正在接受用户提交的HTML,而没有用足够细的梳子来检查/转义它以防止格式良好的错误,那么你的问题比仅仅遵守doctype要大得多。你将让注入黑客通过,并使你的站点容易受到跨站点脚本安全漏洞的攻击

忘记确保将从服务器返回的内容类型从text/html重置为application/html+xml的XHTML页面

这并不是“忘记”,而是深思熟虑:现在为应用程序/xhtml+xml提供服务并没有多大意义。要解释IE,您必须嗅探UA,然后确保您了解在两种解析模式中出现的CSS和JavaScript差异……您可以这样做来证明您的技术能力,但这并不能真正让您有所收获事情

将XHTML作为遗留HTML提供可能并不理想,但它可以让您保持更简单、更可处理的XML语法(以及与其他XML语言(如SVG)的潜在互操作性),同时仍然对浏览器友好


人们抱怨格式良好的错误太过挑剔,但让这些错误立即被发现并修复,要比让它们静静地呆在那里,准备好让未来的浏览器陷入困境要好得多。

XHTML使您能够像SVG(Sca)一样进行高级渲染
http://www.example.com/page.php?arg1=val1&arg2=val2
http://www.example.com/page.php?arg1=val1&amp;arg2=val2
http://www.example.com/page.php?arg1=val1&#38;arg2=val2