比较/对比 HTML、XHTML、XML 和 HTML5
题
好的,所以我不太确定这些语言之间的区别。有人可以澄清一下吗?我知道 XML 有用户定义的标签,而 html 是预先定义的,但这基本上就是我的知识范围。
我知道 HTML5 应该取代 HTML,但是 XML 不也应该做到这一点吗?基本上,这里哪些语言是另一种语言的替代品,哪些是补充?XML 会取代 XHTML 吗?
其他提示
XML是一种元语言。元语言是一种语言,它提供了一种语法机制,用于创建其他语言而不通过预定义语法约束表达式。 XML在SGML doctype语言中定义。遵守XML的严格语法要求称为良构性,这是一种精确准确的实践,用于在各种不同的应用程序和用户代理之间实现文档的统一处理。
SGML是一种像XML这样的元语言,甚至是XML的父级。 SGML提供了一种广泛的形式,用于在语法使用中定义数据,而无需提供数据类型约定。与SGML XML不同,它具有严格且极其简化的语法,不会引起混淆。与SGML不同,XML还具有数据类型定义。 XML中的元素以lambda方式提供命名空间范围,而SGML不提供对命名空间的支持。
Doctype是一种基于SGML的语言,它使用完全不同于XML的语法来定义标记语言语法和广泛的数据类型约定,以便将数据元素与文本区分开来。
XML Schema是一种XML编写语言,除了元素,结构和属性的特定数据类型约定外,还允许语言语法定义具有精确的结构形式。与SGML词汇表不同,用Schema编写的语言在结构上具有自我意识,因此他们可以在结构的任何不同点知道自己的内部需求。由于结构自我意识,模式定义的语言能够立即通过参考模式文档进行验证,而Doctype中定义的语言需要不相关的软件和静态定义才能执行验证。
HTML 1.0是用英文文本编写的,既不是SGML也不是XML。
HTML 2 - 4是用SGML编写的,具有SGML灵活性,例如大写标签或没有匹配结束标签的开始标签。
XHTML 1.0是一种SGML定义的HTML语言形式,带有一些扩展要求,可以逐步兼容XML语法。
XHTML 1.1是XML中定义的HTML语言,具有XML格式要求。
HTML5与HTML 1.0一样,未使用任何元语言定义。它是用英文文本编写的,并且与XML序列化的统一要求相对立。 HTML5似乎是为了可用性和媒体交付而创建的,而不考虑结构或语言层次结构。
XHTML5代表“HTML5的XML序列化”。并且是HTML5的XML语法,可以在将DOM树序列化回HTML5时使用(DOM树无法区分标签汤标签和正确的标签),并且必须遵守更严格的XML规则和命名空间。它用于更容易的机器读取或数据交换,或者需要比较两个HTML5文档时。它与HTML5标准一起指定(感谢hsivonen指出这一点)。
XML是一种语法:它定义了如何写入数据,但不定义您可以编写的数据。例如:
<something otherthing="stuff">content</something>
HTML是一个词汇表:它定义了你可以编写的元素类型(例如BODY,P,LI等),但对你如何编写它并不是非常严格(参见“标签汤&quot;);
XHTML是(大约)HTML词汇表,除了使用(更严格的)XML语法编写。因此(因为语法更严格)软件解析更容易,但非程序员更难以正确编写。它不是很受欢迎,因为Internet Explorer不能正确支持它。
HTML5是HTML的下一代版本(HTML 4的当前版本),仍处于草稿阶段,尚未成为标准版本,部分浏览器部分支持(因此,实验性)。 HTML5将明确支持使用XML语法或标记汤提供服务。
您可以谷歌或使用维基百科进行精确定义。我只想举个例子:
HTML:
<DIV id=header>header</div>
XHTML:
<div id="header">header</div>
HTML 5:
<header>header</header>
XML是基于XHTML的语法:
<something otherthing="stuff">content</something>
首先,有 SGML, ,HTML 和 XML 的概念祖先,它是
- S 标准 (ISO 8879:1986),以便不同的组织和项目可以交换文档
- G 概括化,以便用户可以定义新标签
- 中号 arkup,以便可以使用描述内容的结构信息来扩充文档内容
- L 语言,以便有定义标记的语法。
然后, 超文本标记语言 被创建为一组特定的 SGML 标记,用于定义网页的呈现方式。
XML 是作为 SGML 的简化而创建的。
XHTML 创建它是为了将 HTML 重新转换为格式良好的 XML(例如,需要结束标记,这在 SGML 和 HTML 中并不是严格必需的)。
HTML 5 是 HTML 的当前版本。它拒绝 XHTML 背后的动机,并允许比 XML 规则所需的更宽松的标记规范。
有关两个序列化的图片,请参阅HTML5 抽象语言。
HTML是网页的标记语言,而XML是信息的标记语言。 XML从未被视为HTML的直接替代品,它具有不同的范围。
HTML 5只是HTML的最新版本。 “当前” HTML版本(几乎所有正在使用的浏览器都支持的版本)是4.01。
XHTML是一种基于HTML的标准,已经过调整,以符合更严格的XML规则。 XHTML文档也是一个XML文档,如果写得正确,它可以被任何XML解析器解析。
HTML是为网页制作的标记语言。 HTML 5是HTML的第五个版本。
XML是另一种标记语言。 XHTML是XML的一种方言,非常类似于HTML,并且意在取代它,但由于支持不佳基本上只与HTML一起存在。
所有这些语言的标准由万维网联盟维护。
确切的差异和细微之处超出了stackoverflow问题的范围,但 w3schools.com 有一些可以帮助您开始这方面的教程。
我建议你阅读你在w3schools上提到的每种语言的介绍。这应该会让你对差异有所了解。