好的,所以我不太确定这些语言之间的区别。有人可以澄清吗?我知道XML有用户定义的标签,而html是预先定义的,但这基本上就是我的知识范围。
我知道HTML5应该取代HTML,但是XML也不应该这样做吗?基本上,这里的哪种语言可以替代另一种,哪种补充? XML取代XHTML吗?
答案 0 :(得分:31)
HTML是超文本标记语言,用于创建结构化文档并提供文档背后的语义含义。 HTML5是HTML规范的下一个版本。
XML是可扩展标记语言,它提供了创建,构建和编码文档的规则。您经常会看到XML用于存储数据并允许应用程序之间的通信。它与编程语言无关 - 所有主要的编程语言都提供了读取和编写XML文档的机制,可以作为核心的一部分,也可以作为外部库的一部分。
XHTML是基于XML的HTML。它提供与HTML相同的功能,但具有与XML文档相同的规则。这些规则处理标记的结构。
答案 1 :(得分:10)
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指出这一点)。
答案 2 :(得分:8)
XML是一种语法:它定义了如何写入数据,但不定义您可以编写的数据。例如:
<something otherthing="stuff">content</something>
HTML是一个词汇表:它定义了你可以编写的元素类型(例如BODY,P,LI等),但对你如何编写它并不是非常严格(参见“Tag soup”);
XHTML是(大约)HTML词汇表,除了使用(更严格的)XML语法编写。因此(因为语法更严格)软件解析更容易,但非程序员更难以正确编写。它不是很受欢迎,因为Internet Explorer不能正确支持它。
HTML5是HTML的下一代版本(HTML 4的当前版本),仍处于草稿阶段,尚未成为标准版本,部分浏览器部分支持(因此,实验性)。 HTML5将明确支持使用XML语法或标记汤提供服务。
答案 3 :(得分:6)
您可以谷歌或使用维基百科进行精确定义。我只想举个例子:
HTML:
<DIV id=header>header</div>
XHTML:
<div id="header">header</div>
HTML 5:
<header>header</header>
XML是基于XHTML的语法:
<something otherthing="stuff">content</something>
答案 4 :(得分:5)
首先,有 SGML ,它是HTML和XML的概念祖先,是
然后, HTML 被创建为一组特定的SGML标记,用于定义网页的呈现方式。
XML 是作为SGML的简化而创建的。
创建XHTML 是为了将HTML重新格式化为格式良好的XML(例如,需要结束标记,这在SGML和HTML中是非常必要的。)
HTML 5 是HTML的当前版本。它拒绝了XHTML背后的动机,并且允许比XML规则更宽松的标记规范。
答案 5 :(得分:4)
查看two serializations of HTML5抽象语言的图形。
答案 6 :(得分:2)
HTML是网页的标记语言,而XML是信息的标记语言。 XML从未被视为HTML的直接替代品,它具有不同的范围。
HTML 5只是HTML的最新版本。 HTML的“当前”版本(几乎所有正在使用的浏览器都支持的版本)是4.01。
XHTML是一种基于HTML的标准,已经过调整,以符合更严格的XML规则。 XHTML文档也是一个XML文档,如果写得正确,它可以被任何XML解析器解析。
答案 7 :(得分:1)
HTML是为网页制作的标记语言。 HTML 5是HTML的第五个版本。
XML是另一种标记语言。 XHTML是XML的一种方言,非常类似于HTML,并且意在取代它,但由于支持不佳基本上只与HTML一起存在。
答案 8 :(得分:-1)
所有这些语言的标准都由World Wide Web Consortium维护。
确切的差异和细微之处超出了stackoverflow问题的范围,但是w3schools.com有一些教程可以帮助你开始这个。
我建议你阅读你在w3schools上提到的每种语言的介绍。这应该会让你对差异有所了解。