迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 >

HTML5 的 XML 序列化,又名“XHTML5”

作者:迹忆客 最近更新:2023/01/11 浏览次数:

你知道的,我总是更喜欢 HTML 而不是 XHTML,因为它不那么冗长,而且我喜欢让事情变得简单。 真实的故事。

但这并没有阻止我想知道究竟是如何触发 HTML5 的 XML 模式的——让我们从现在起称它为 XHTML5。 事实证明,只需三个简单的步骤即可将 HTML5 文档转换为 XHTML5


使用正确的 MIME 类型

在使用相应的 MIME 类型提供文档之前,我们并没有真正使用 XHTML5。 对于 XML,这是 application/xhtml+xml。 我们可以通过配置 Web 服务器或使用服务器端脚本语言轻松地做到这一点。 这是一个 PHP 示例:

<?php header('Content-Type: application/xhtml+xml;charset=UTF-8'); ?>

请注意 ,使用此 MIME 类型提供的文档不会在 IE8 和旧版本中呈现。 相反,他们会触发下载弹出窗口。 (有一种变通方法允许我们将它们作为 application/xml 发送,但是既然可以只使用 HTML,为什么还要麻烦呢?)


使用正确的 DOCTYPE——或者根本不使用它

DOCTYPE 声明,在“常规”HTML5 中可以写成 <!doctype html>,在 XHTML5 中可以省略。 但是,如果我们坚持使用它,我们应该知道“DOCTYPE”在 XML 模式下应该以大写形式书写,如下所示:

<!DOCTYPE html>

请注意 ,如果我们不使用大写 DOCTYPE,XML 解析器将返回语法错误。

第二部分可以用小写 (html)、大写 (HTML) 甚至混合大小写 (hTmL) 编写——它仍然有效。 但是,为了符合 HTML 兼容 XHTML 文档的多语言标记指南,它应该用小写字母书写。


指定 XML 命名空间

XHTML5 要求我们将 XML 命名空间添加到文档的根元素,在本例中当然是 html 元素。

<html xmlns="http://www.w3.org/1999/xhtml">

把它们放在一起

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta charset="utf-8" />
        <title>Example XHTML5 document</title>
    </head>
    <body>
        <!-- HERE BE DRAGONS -->
    </body>
</html>

请记住,该文档必须作为 application/xhtml+xml 以 XML 序列化方式触发 HTML5。 DOCTYPE 声明在 XML 模式下是可选的,但如果不想省略,则需要大写。

当然,我们必须使用有效的 XHTML 语法才能使我们的文档正常工作。 这意味着我们将无法使用 <noscript>document.write()。 此外,一个语法错误就足以导致黄屏死机,而不是我们想要显示的页面。 谨慎使用!

更好的是,除非有充分的理由,否则永远不要使用 XHTML! 没有附加值,只会使事情复杂化。 如有疑问,请使用常规 HTML5。

相关文章

HTML5 document.head DOM 树访问器

发布时间:2023/01/11 浏览次数:184 分类:WEB前端

一个鲜为人知的 HTML5 JavaScript 好东西是 document.head DOM 树访问器,它比 document.getElementsByTagName(head)[0] 更有效(也更容易输入)。 文档的 head 元素是作为 html 元素子元素的第一个 head 元素

Bulletproof HTML5 <details> 使用 jQuery 回退

发布时间:2023/01/11 浏览次数:66 分类:WEB前端

HTML5 details 元素目前不受 Chrome 12 及更高版本原生支持的任何浏览器的原生支持。 这使得猜测这个新元素的确切行为有点困难,但阅读规范给了我们一个很好的主意。 清楚的是: detai

HTML5 使用的三个层次

发布时间:2023/01/11 浏览次数:65 分类:WEB前端

级别 1:它只是工作 HTML5 规范是在考虑向后兼容性的情况下编写的(并且仍在编辑中)。 HTML5 中有一些新功能已经可以在每个 A 级浏览器中使用,因此现在可以使用,不需要任何奇怪的

id 属性在 HTML5 中变得更加优雅

发布时间:2023/01/08 浏览次数:128 分类:WEB前端

HTML5 带来的更微妙但更棒的变化之一,适用于 id 属性。 HTML 4.01 和 HTML5 中的 id 有何不同 HTML 4.01 规范规定 ID 令牌必须以字母 ([A-Za-z]) 开头,后面可以跟任意数量的字母、数字 ([0-9]) 、

JavaScript 修复 XMLHttpRequest is not defined 错误

发布时间:2022/08/09 浏览次数:408 分类:WEB前端

出现“XMLHttpRequest is not defined”错误有两个主要原因:尝试在 Node.js 应用程序(在服务器端)中使用 XMLHttpRequest;拼写错误的 XMLHttpRequest 关键字(区分大小写)。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便