好的,所以我不太确定这些语言之间的区别.有人可以澄清吗?我知道XML有用户定义的标签,而html是预先定义的,但这基本上就是我的知识范围.
我知道HTML5应该取代HTML,但是XML也不应该这样做吗?基本上,这里的哪种语言可以替代另一种,哪种补充?XML取代XHTML吗?
HTML是超文本标记语言,用于创建结构化文档并提供文档背后的语义含义.HTML5是HTML规范的下一个版本.
XML是可扩展标记语言,它提供了创建,构建和编码文档的规则.您经常会看到XML用于存储数据并允许应用程序之间的通信.它与编程语言无关 - 所有主要的编程语言都提供了读取和编写XML文档的机制,可以作为核心的一部分,也可以作为外部库的一部分.
XHTML是一种基于XML的HTML.它提供与HTML相同的功能,但具有与XML文档相同的规则.这些规则处理标记的结构.
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是一种语法:它定义了如何写入数据,而不是您可以编写的数据.例如:
content
HTML是一个词汇表:它定义了你可以编写的元素类型(例如BODY,P,LI等),但对你如何编写它并不是非常严格(参见" 标签汤 ");
除了使用(更严格的)XML语法编写之外,XHTML(大约)是HTML词汇表.因此(因为语法更严格)软件解析更容易,但非程序员更难以正确编写.它不是很受欢迎,因为Internet Explorer不能正确支持它.
HTML5是HTML的下一代版本(当前版本的HTML 4),仍处于草案阶段,尚未成为标准版本,部分浏览器部分支持(因此,实验性).HTML5将明确支持使用XML语法或标记汤来提供服务.
您可以谷歌或使用维基百科进行精确定义.我只想举个例子:
HTML:
header
XHTML:
header
HTML 5:
header
XML是基于XHTML的语法:
content
首先是SGML,它是HTML和XML的概念祖先,
小号 TANDARD(ISO 8879:1986),从而使不同的组织和程序可以交换文档
摹。广义,使用户可以定义新标签
M arkup,以便可以使用描述内容的结构信息来扩充文档内容
大号 anguage,所以有定义标记的语法。
然后,将HTML创建为一组特定的SGML标签,用于定义应如何显示网页。
XML是作为SGML的简化而创建的。
创建XHTML的目的是将HTML重铸为格式正确的XML(例如,需要结束标记,而在SGML和HTML中并非必须如此)。
HTML 5是HTML的当前版本。它拒绝了XHTML背后的动机,并允许使用比XML规则所要求的宽松的标记规范。