HTML5是否有效的XML?
我很困惑。 一位同事使我对那个标签结束的可能性/>
如<br />
仍然可以在HTML5中使用。 我以为只有<br>
-style都可以使用。 所有互联网上的“谈话”都是关于使用后者。
有人可以向我解释这个吗? 这似乎很混乱,记录不完整。
这引出了另一个问题:HTML 5是否被认为是格式良好的XML?
否。反例:
这些是有效的HTML5,但无效的XHTML5:
一些结束标签可以省略:
<p>First
<p>Second
请参阅:HTML中不需要P-end-tag(</ p>)
script
逃脱魔术:
<script><a></script>
请参阅:什么是HTML中的CDATA?
没有值的属性(布尔属性):
<input type="text" disabled />
请参阅:禁用属性的正确值
不带引号的属性,例如:
<div data-a=b></div>
请参阅:在XHTML 1.0中,严格属性值需要用引号括起来吗?
隐式开放元素和多个顶级元素。
一些HTML元素是隐式创建的。 例如html
。 这允许HTML具有“多个顶级元素”:
<!doctype html><title>a</title><p>a</p>
请参阅:是否需要编写HEAD,BODY和HTML标记?
有效的XHTML无效HTML:
CDATA
内部构造有无效标签
ENTITY
和其他惊叹号结构,这让人们笑了起来:十亿亿笑XML DoS攻击工作如何?
有效的HTML和XHTML但含义不同:
£
, ©
),XML仅具有5( quot
, amp
, apos
, lt
, gt
)。 它有一个XML序列化,称为XHTML5。 基本上,您可以自由使用HTML5(HTML序列化)或XHTML5(XML序列化)。 规范草案说HTML5“是为大多数作者所建议的格式”,主要是出于同样的原因,人们推荐使用XHTML 1.1的text/html
。
您可以将您的网页标记为有效的HTML5和XHTML5:http://www.w3.org/TR/html-polyglot/
符合一组明确定义的约束的多边形标记被解释为兼容的,无论它们是按照HTML5规范处理为HTML还是XHTML。
基本文件可能如下所示:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title></title>
</head>
<body>
</body>
</html>
当然,你必须遵循一些附加规则(比如不使用noscript
元素),在链接工作草案中列出。
上一篇: Is HTML5 valid XML?