是否有专门用于XHTML 5的验证程序,即HTML 5的XML序列化?该W3C validator支持文档类型:是否有XHTML 5验证程序?
HTML 5 (experimental)
:它把未在XML允许作为有效的各种功能,如隐式关闭<br>
标签。- 几个
XHTML 1.0
和XHTML 1.1
文档类型,不承认在HTML 5
是否有专门用于XHTML 5的验证程序,即HTML 5的XML序列化?该W3C validator支持文档类型:是否有XHTML 5验证程序?
HTML 5 (experimental)
:<br>
标签。XHTML 1.0
和XHTML 1.1
文档类型,不承认在HTML 5为实际上HTML 5确实检测和验证XHTML 5 W3C验证:
application/xhtml+xml
)。xmlns
属性进行猜测。也就是说,这被确定为XHTML(因此被正确标记为无效):
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>test</title></head>
<body><br></body></html>
这被确定为HTML(因此被正确标记为有效):
<!DOCTYPE html><html>
<head><title>test</title></head>
<body><br></body></html>
编辑:显然他们删除了这个自动识别。请参阅this bug。
您可以使用Validator.nu(X)HTML5验证(验证的生活)的新标签:
请注意,“生活验证程序”意味着由于HTML 5规范本身不断发展,验证程序也一样 - 验证结果可能会随着时间的推移而变化(无效标记可能会变得有效,否则)。
而且,请注意,W3C验证服务确认后明确规定:
位于<文件...>已成功选中为HTML5。这意味着有问题的资源将自己标识为“HTML5”,并且我们已成功对其进行了正式验证。我们用于此检查的解析器实现基于validator.nu(HTML5)。
所以Validator.nu实际上是的(X)HTML5验证。
您需要了解验证器如何确定它是处理HTML还是XHTML。
在HTML5之前,这是使用DOCTYPE完成的,但是HTML5不再可行。无论如何,这绝不是一个好主意,因为这不是浏览器所做的。
相反,通过HTTP提供HTML5网页,验证器遵循浏览器行为并使用内容类型设置确定HTML序列化。
考虑这个标记:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test</title>
</head>
<body>
Before Malformation
<br>
After Malformation
</body>
</html>
可见过送达的内容类型的text/html
这里:
http://www.alohci.net/text/html/malformed.htm.ashx
这里验证:
请注意,在浏览器中都显示Before Malformation
和After Malformation
,验证器会传递HTML。
相同的标记供应与内容类型的application/xhtml+xml
这里:
http://www.alohci.net/application/xhtml+xml/malformed.htm.ashx
,并在这里验证:
注意,在Firefox中你得到一个黄色屏幕在IE9中只显示文字Before Malformation
,而在Chrome中,文字为Before Malformation
在下面显示一个大的错误消息。验证器报告错误。
---
现在,当你直接输入加价,使验证没有任何内容类型信息去,它使一个猜测,因为你已经发现,基于xmlns属性上html元素。这只能是猜测,因为值为http://www.w3.org/1999/xhtml
的xmlns属性在HTML序列化中是有效的。
其实,看起来我错了; W3C验证器检查XHTML。 –
请注意,W3C HTML5验证程序实际上*使用* html5.validator.nu代码库(并且它也指出验证成功后) – vaxquis