网站开发进阶 (四十五) 浅谈 XML 与 HTML 的区别
一、什么是HTML
HTML
(HyperTextMark-upLanguage
)即超文本标记语言,是WWW
的描述语言。
二、什么是 XML
XML
即ExtentsibleMarkup Language
(可扩展标记语言),是用来定义其它语言的一种元语言,其前身是SGML
(标准通用标记语言)。它没有标签集(tagset
),也没有语法规则(grammatical rule)
,但是它有句法规则(syntax rule
)。任何XML
文档对任何类型的应用以及正确的解析都必须是良构的(well-formed
),即每一个打开的标签都必须有匹配的结束标签,不得含有次序颠倒的标签,并且在语句构成上应符合技术规范的要求。XML
文档可以是有效的(valid
),但并非一定要求有效。所谓有效文档是指其符合其文档类型定义(DTD
)的文档。如果一个文档符合一个模式(schema
)的规定,那么这个文档是模式有效的(schema valid
)。
三、HTML 与 XML 的区别
通过以上对HTML
及XML
的了解,我们来看看他们之间到底存在着什么区别与联系。
xml
和html
都是用于操作数据或数据结构的,在结构上大致相同,但它们在本质上却存在着明显区别。
(一)语法要求不同
在
html
中不区分大小写,在xml
中严格区分;在
HTML
中,有时不严格,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略</p>
或者</li>
之类的结束标记。在XML
中,是严格的树状结构,绝对不能省略掉结束标记。在
XML
中,拥有单个标记而没有匹配的结束标记的元素必须用一个'/'字符作为结尾。这样分析器就知道不用查找结束标记了。在
XML
中,属性值必须分装在引号中。在HTML
中,引号是可用可不用的。在
HTML
中,可以拥有不带值的属性名。在XML
中,所有的属性都必须带有相应的值。在
XML
文档中,空白部分不会被解析器自动删除;但是html
是过滤掉空格的。
(二)标记不同
html
使用固有的标记;而xml
没有固有的标记;Html
标签是预定义的;XML
标签是免费的、自定义的、可扩展的。
(三)作用不同
html
是用来显示数据的;xml
是用来描述数据、存放数据的,可以作为持久化介质。Html
将数据和显示结合在一起,在页面中把这数据显示出来;xml
则将数据和显示分开。XML
被设计用来描述数据,其焦点是数据的内容。HTML
被设计用来显示数据,其焦点是数据的外观。xml
不是HTML
的替代品,xml
和html
是两种不同用途的语言。XML
不是要替换HTML
;实际上XML
可以视作对HTML
的补充。XML
和HTML
的目标不同:HTML
的设计目标是显示数据并集中于数据外观,而XML
的设计目标是描述数据并集中于数据的内容。没有任何行为的
XML
与HTML
相似,XML
不进行任何操作。(共同点)对于
XML
最好形容:XML
是一种跨平台的,与软、硬件无关的,处理与传输信息的工具。XML
未来将会无所不在。XML
将成为最普遍的数据处理和数据传输的工具。
版权声明: 本文为 InfoQ 作者【No Silver Bullet】的原创文章。
原文链接:【http://xie.infoq.cn/article/3cda0bb5fe533aa7e191bca97】。文章转载请联系作者。
评论