是否存在任何“事物”(元素,DOM操作,样式,元素的嵌套,属性,任何类似的东西......),人们可以在XHTML 5中做到,那个人不能用HTML 5做什么?我记得在网上看过一个这样的案例,但我不记得我看到它的位置。
除了使用SVG和MathML等外部命名空间中的内容之外(HTML也支持)。
作为参考,相反问题的答案数量“您在HTML 5中可以做什么,而您在XHTML 5中无法做到?”鉴于XHTML的严格性,它们非常大。因此,我正在寻找这个问题的答案。
答案 0 :(得分:4)
是,例如实体声明和对如此定义的实体的引用。它们是XML的一部分,因此在使用XML序列化时必须支持它们,因为它需要遵循通用XML规则。例如:
<!DOCTYPE html [
<!ENTITY foo "Hello world">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Demo</title>
</head>
<body>
&foo;
</body>
</html>
答案 1 :(得分:3)
document("foo.xml")
支持包含,可以用作XInclude代理,因为现在没有浏览器支持后者。.innerHTML
,.insertAdjacentHTML()
和.createContextualFragment()
验证格式良好这个话题一般非常有趣。例如。 XHTML5解析器与纯XML解析器并不完全相同,因为HTML5规范要求对XML解析器进行一些故意违反,例如,支持<template>
element。
还有一些状态,如果您尝试通过XHTML fragment serialization algorithm导出错误,则可以使用有效的DOM。 并且HTML Fragment serialization algorithm可能会发出一个字符串,当HTML解析器再次解析时,该字符串将导致不同的DOM。
所以基本上所有以下三个都不是完全同构的,任何组合:
答案 2 :(得分:1)
在XHTML中,您可以在非void元素上使用自动关闭语法(/>
):
<script src="js.js" />
虚空元素可能有杂散结束标记:
<input></input>
答案 3 :(得分:0)
我能够在unofficial Q&A by hsivonen中找到我隐约记得的东西。我还在寻找其他类似的功能&#34;。
[...]在这种情况下,您必须避免text / html中不支持的构造(例如div作为p的子级)。
搜索更多信息时,我发现this page(从顶部开始的第二篇文章):
但基本上p不能在HTML中包含div(或者使用mime类型text / html提供XHTML)。如果您使用XML mime类型提供XHTML,您可以在理论上这样做,但结果将不是有效的XHTML。
说HTML解析器根本不允许这种可能性,而XHTML解析器不需要再猜测代码,接受它但它仍然无效。
我决定对其进行测试:采用application/xhtml+xml
page,尝试使用Chrome开发工具在div
内添加p
&#34;编辑为HTML& #34;功能。有效。我复制了源代码,做了相同的更改并在validator.nu中进行了测试。我觉得它有点失望,这标志着它无效。
尝试以相同的方式在text/html
页面中添加div是不可能的。一旦我退出&#34;编辑为HTML&#34;模式,它只是移动了div
之后的p
。