HTML5 的 XML 序列化,又名“XHTML5”
你知道的,我总是更喜欢 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。
相关文章
在 HTML 中显示 XML
发布时间:2023/05/06 浏览次数:161 分类:HTML
-
本篇文章介绍了如何在 HTML 页面上显示 XML 代码。可扩展标记语言 (XML) 简介 它是一种类似于 HTML 的标记语言,但没有内置标签。
在 AngularJS 中启用 HTML5 模式
发布时间:2023/04/14 浏览次数:150 分类:Angular
-
本文讨论如何在 AngularJS 应用程序上启用带有深度链接的 HTML5 模式。
在 PHP 中转换 XML 到 JSON
发布时间:2023/03/24 浏览次数:171 分类:PHP
-
本文介绍了如何在 PHP 中把 xml 转换为 json。它包括 simplexml_load_string()函数和 json_encode()函数。
在 Angular 中将 XML 转换为 JSON
发布时间:2023/03/14 浏览次数:167 分类:Angular
-
如果你想将你的 Angular XML 转换为 JSON,有两种方法可以做到:使用内置的 Angular 函数或使用 Xml2Js 等外部库
HTML5 document.head DOM 树访问器
发布时间:2023/01/11 浏览次数:184 分类:HTML
-
一个鲜为人知的 HTML5 JavaScript 好东西是 document.head DOM 树访问器,它比 document.getElementsByTagName(head)[0] 更有效(也更容易输入)。 文档的 head 元素是作为 html 元素子元素的第一个 head 元素