XHTML是HTML的子集吗?

XHTML是HTML的子集吗?,html,xml,xhtml,subset,sgml,Html,Xml,Xhtml,Subset,Sgml,我知道的是(如果我错了,请纠正我): XML是SGML的一个子集 XHTML是一个应用程序,也是XML的一个子集 HTML是SGML的一个应用程序 这是否意味着XHTML是HTML的一个子集,或者该语句是否因任何其他原因而成立 这是否意味着XHTML是HTML的一个子集 不,没有 XHTML是HTML的子集吗 不是。HTML也不是XHTML的子集 例如: 是有效的HTML,但不是有效的XHTML 是有效的XHTML,但不是有效的HTML 传统上,HTML和XHTML是分别指定的。HTML

我知道的是(如果我错了,请纠正我):

  • XML是SGML的一个子集
  • XHTML是一个应用程序,也是XML的一个子集
  • HTML是SGML的一个应用程序
这是否意味着XHTML是HTML的一个子集,或者该语句是否因任何其他原因而成立

这是否意味着XHTML是HTML的一个子集

不,没有

XHTML是HTML的子集吗

不是。HTML也不是XHTML的子集

例如:

  • 是有效的HTML,但不是有效的XHTML
  • 是有效的XHTML,但不是有效的HTML

传统上,HTML和XHTML是分别指定的。HTML5在一个规范中定义了这两种语法。但这两种语法是相互排斥的。但是,您可以在文档中使用符合这两种语法的标记。e、 通过使用

XML不是SGML的子集,而是接近SGML。XML有它自己的规则,部分不同于SGML,尽管它主要由SGML组成,但大部分特性都被省略了

XHTML(这是几种标记语言的总称)可以称为应用程序和XML的子集,但除此之外,XHTML标记具有指定给它们的含义,而XML本身并没有说明任何含义

HTML名义上是SGML在HTML2.0、HTML3.2、HTML4.0和HTML4.01规范中的应用,但这始终只是理论。只有验证程序将HTML视为SGML。从来没有任何浏览器实现这些规范中定义的HTML;一些SGML特性(它们的基本部分)缺乏所有支持

即使子集关系都为真,也不能从前提中得出“XHTML是HTML的子集”的结论。A.⊂ B和C⊂ B和D⊂ B不意味着C⊂ D


XHTML不是HTML的子集。有些XHTML规范包含HTML规范中未包含的元素。XHTML和HTML都是集合名词。XHTML1.0在XML语法中被描述为HTML4.01,因此它们可能被称为替代语法形式。但即使这也不是严格意义上的事实;除了明显的语法差异外,XHTML1.0和HTML4.01之间还有一些记录不清的差异。HTML5被定义为两种语法,两种序列化,“HTML”和“XHTML”,但即使在这里,除了不同的序列化之外,还有不可避免的差异。

你问了两个问题:

(a) XHTML是HTML的子集吗?答案是否定的。通过展示XHTML允许HTML不允许的事情(比如XML声明),可以很容易地证明这一点

(b) 如果H是S的子集,X是S的子集,这是否意味着X是H的子集?最肯定的是:这将是一个严重的逻辑错误。

确切地说,
原则上是有效的HTML(尽管它并不意味着你所想的),实际上浏览器将其视为