HTML和XML在语法上非常相似,所以我想知道的是,有效的HTML代码是否始终符合XML规范。
答案 0 :(得分:3)
不,它不会。
HTML 2到4.x是SGML应用程序,而不是XML应用程序。 (HTML +可能也是一个SGML应用程序,从规范的简要说明中已经不清楚了)
HTML 5有自己的解析规则。
(XHTML和HTML 5的XML序列化虽然是XML)
答案 1 :(得分:2)
HTML是否符合XML规范?
不,它没有。 HTML支持:
<img>
代替<img />
)<b><i>bla</b></i>
代替<b><i>bla</i></b>
)<a name=foo>...</a>
)<em>this & that</em>
代替<em>this & that</em>
)<script>
)©
代替©
)标准没有明确允许所有这些概念,但所有HTML解析器都理解并支持它们。
它们在XML中都不合法。
答案 2 :(得分:1)
HTML更宽松。例如,
<!DOCTYPE html>
<title>foo</title>
bar
是一个有效的HTML5文档,但它显然不是有效的XML,因为XML需要一个包含整个文档的顶级元素。
但是,您可以使用XHTML种语言之一,这些语言是XML的应用程序,其语义与相应的HTML标准相同。