W3C不再维护多语言标记?

Joh*_* P. 5 html xhtml html5 polyglot-markup

W3C已经结束了对多语言标记的支持.那么我是否必须将我的网站转换为使用常规HTML5而不是XHTML?他们如何放弃这个概念会影响现有网站?我希望有一个完全有效的标记,如果该代码与标准冲突,我将不得不删除它.

Joh*_*ohn 5

与往常一样,更多的评论对 XHTML 进行了猛烈抨击,但没有真正理解它是什么。

  • XHTML 使用 XML 解析器。
  • HTML 使用 HTML 解析器。

  • XML解析器是严格的,它是一个错误容忍度较低的应用程序。
  • HTML 解析器很轻松,不会介意潜艇上的屏蔽门是否打开。

您可以而且应该使用可用的最严格的工具。在 PHP 的示例中,您应该始终检查变量是否为isset. 为什么?input黑客将从表单中删除一个元素,提交表单,然后尝试查看服务器将发送哪些错误消息。但如果你降低 PHP 错误消息的严格性,你会认为一切都很好。

我看到一个人为为什么只有 Safari 无法正确渲染某种样式而紧张了三天。如果他使用了 XML 解析器,该页面(在 Firefox 中)将完全失败,并且他会收到一条错误消息,准确指出是什么、它在哪一行以及该行上的哪一列(其他浏览器会渲染到行,因此默认使用 Firefox 进行测试)。他的错误?他在他的一项属性中缺少双引号;他的潜艇上的屏蔽门敞开着。

这并不意味着您不能使用 HTML5,因为我们在这里讨论的是语法。理想情况下,您应该使用 XHTML5,HTML5 使用 XML 解析器。它并不能解决所有问题(重复id尽管它需要您在更高级别上进行编码,但它

是的,IE8 不支持 XHTML(它支持 XML),但甚至不值得考虑支持 IE8。坦率地说,它是唯一一个拥有“重要”市场份额但不支持 XHTML 的浏览器,但这并不意味着您不能进行内容协商:

<?php
if (stristr($_SERVER['HTTP_ACCEPT'],'application/xhtml+xml'))
{
 header('Content-Type: application/xhtml+xml');
 echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
}
?>
Run Code Online (Sandbox Code Playgroud)

请记住,如果 IE8 看到 XML 声明,它就会以怪异模式呈现,但从 2016 年开始,这是一个没有实际意义的问题,因为它不再是值得支持的浏览器,除非您被支付为专门处理该浏览器的专家。

我的整个平台使用 XHTML5,它大大提高了标准、开发时间和技能。总是质疑那些反对做需要更多技能的事情的人的诚信,这就是“一毛钱一打”这句话存在的原因。


如果您正在寻找一种快速方法来适应 XML 解析器的使用,但没有时间替换<br>示例中的数十或数百个解析器,我强烈建议您考虑高级查找和替换。选择一个目录、一种或多种文件类型(例如*.php;*.css;*.xml)以及您要查找的代码以及要替换的内容。此外,它实际上通过 Wine 模拟运行得比 Linux 的本机grep命令更快,而且超级便宜。不过,请务必小心如何进行大规模查找和替换,代码的空白越严格,您的情况就会越好,并且始终首先备份!