嗯,我不太确定这些语言之间的区别。有人可以澄清一下吗?我知道XML具有用户定义标签,而HTML是预定义的,但这基本上是我的知识范围。
我知道HTML5应该取代HTML,但XML也应该这样做吧?基本上,这些语言中哪些是另一个的替代品,哪些是补充? XML是否取代XHTML?
XML是一种元语言。元语言是一种提供语法机制以创建其他语言的语言,而不通过预定义的语法限制表达。XML在SGML文档类型语言中定义。遵循XML严格的语法要求被称为良好格式,这是一种精确准确地遵循一组规定要求的实践,旨在实现对各种不同应用程序和用户代理的文档的统一处理。
SGML像XML一样是一种元语言,甚至是XML的父级。SGML提供了一种广泛的形式来定义使用语法的数据,而不提供数据类型约定。与SGML不同,XML具有严格且极其简化的语法,不容易混淆。XML还具有数据类型定义,这也不同于SGML。XML中的元素以lambda方式提供命名空间范围,而SGML不支持命名空间。
Doctype是一种基于SGML的语言,它使用与XML完全不同的语法来定义标记语言语法和广泛的数据类型约定,以区分数据元素和文本。
XML Schema是一种XML编写的语言,允许具有精确结构形式的语言语法定义以及元素、结构和属性的特定数据类型约定。由Schema编写的语言在结构上具有自我意识,不像SGML词汇表那样,因此它们知道在结构的任何不同点上它们自己的内部要求。通过引用Schema文档,由Schema定义的语言能够立即开放验证,由于其结构自我意识,而在Doctype中定义的语言需要无关软件来执行验证。
HTML 1.0是用英文文本编写的,既不是SGML也不是XML。
HTML 2-4是用SGML编写的,并具有SGML的灵活性,例如大写标签或没有匹配关闭标签的开始标签。
XHTML 1.0是HTML语言的SGML定义形式,具有一些扩展要求,以实现向XML语法的渐进兼容性。
XHTML 1.1是用XML定义的HTML语言,具有XML格式良好的要求。
与HTML 1.0一样,HTML5没有使用任何元语言进行定义。它是用英文文本编写的,并且在反对XML序列化的统一要求方面发生了根本性变化。HTML5似乎是为了可用性和媒体传递而创建的,而不考虑结构或语言层次结构。
XHTML5代表“HTML5的XML序列化”,是一种用于将DOM树序列化回HTML5时使用的XML语法(DOM树失去了区分标记混乱标记和正确标记的能力),必须遵守更严格的XML规则和命名空间。它旨在实现更轻松的机器阅读或数据交换,或者当需要比较两个HTML5文档时使用。它与HTML5标准一起指定(感谢hsivonen指出这一点)。
首先,有SGML,它是HTML和XML的概念祖先,是一种
然后,HTML作为一组特定的SGML标记创建,用于定义Web页面的呈现方式。
XML作为SGML的简化而创建。
XHTML被创建为将HTML重新格式化为格式良好的XML(例如需要关闭标签,这在SGML和HTML中并非严格必要)。
HTML 5是当前版本的HTML。它拒绝XHTML背后的动机,并允许比XML规则更宽松的标记规范。
XML是一种语法:它定义了你如何编写数据,但不定义你可以编写什么数据。例如:
<something otherthing="stuff">content</something>
HTML是一种词汇:它定义了你可以写哪些元素(例如BODY,P,LI等),但对于如何编写并不十分严格(参见"标记混乱 ");
XHTML是(大致上)使用(更严格的)XML语法编写的HTML词汇表。因此(由于语法更严格),它更容易被软件解析,但对于非程序员正确编写则更难。由于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>
HTML是一种用于网页的标记语言,而XML是一种用于信息的标记语言。XML从未被视为HTML的直接替代品,它具有不同的范围。
HTML5只是HTML的最新版本。 "当前"的HTML版本(几乎所有使用的浏览器都支持的版本)是4.01。
XHTML是基于HTML的标准,已经调整以符合XML的更严格规则。XHTML文档也是XML文档,如果正确编写,可以通过任何XML解析器解析。
HTML是一种用于网页的标记语言。HTML5是HTML的第五个版本。
XML是另一种标记语言。XHTML是XML的一种方言,与HTML非常相似,并旨在替代它,但由于支持不佳,它基本上只是与HTML并存。
所有这些语言的标准都由万维网联盟维护。
具体的差异和细微之处超出了stackoverflow问题的范围,但是w3schools.com有一些教程可以帮助您入门。
我建议您在w3schools上阅读每种语言的介绍。那应该会让您对它们的区别有一些了解。