html - XHTML 是 HTML 的子集吗?

标签 html xml xhtml subset sgml

我知道的是(如有错误请指正):

  • XML 是 SGML 的一个子集。
  • XHTML 是一个应用程序,是 XML 的一个子集。
  • HTML 是 SGML 的应用。

这是否意味着 XHTML 是 HTML 的一个子集,或者此声明是否出于任何其他原因成立?

最佳答案

XML 不是 SGML 的子集,但很接近。 XML 有自己的规则,与 SGML 有部分不同,尽管它主要由 SGML 组成,但省略了它的大部分功能。

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

HTML 名义上是 SGML 在 HTML 2.0、HTML 3.2、HTML 4.0 和 HTML 4.01 规范中的应用,但这始终只是理论。只有验证器将 HTML 视为 SGML。从来没有任何浏览器实现了这些规范中定义的 HTML;几个 SGML 特性,原则上是它们的一部分,缺乏所有支持。

即使子集关系全部为真,“XHTML 是 HTML 的子集”的结论也不会从前提得出。 A ⊂ B 和 C ⊂ B 和 D ⊂ B 不蕴涵 C ⊂ D。

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

关于html - XHTML 是 HTML 的子集吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18463320/

相关文章:

css - 使用 'specifically' 字体样式而不是 html 或 css 字体样式(谷歌字体)

html - 固定元素超出浏览器屏幕

xml - XSD 限制 - whiteSpace "replace",但不允许有空格

java - Protege插件开发: protege views sources?

xhtml - 我应该使用哪种 MIME 类型来为 IE7 和 IE8 提供 XHTML5?

javascript - 在不影响页面其余部分的页面上显示不正确的 html

javascript - 影响 JavaScript/CSS 的 HTML 空间格式

css - 无法隐藏播放列表 html 视频

javascript - 在两个单独的 slider 中匹配数据属性

html - XSLT 如何检查 XML 节点是否存在?