|
 |
[Semantic Web](连载)语义网之路--XML概述  |
Lee 发表于 2007/1/24 23:12:30 |
1 从HTML说起
现在的网络应用越来越广泛,仅仅靠HTML单一的文件类型来处理千变万化的文档和数据已经远远不能满足日益增长的网络需求。HTML的缺点和不足逐渐显现,主要表现在:
l 标签并不能揭示信息的语义
HTML设计之初的本意在于根据信息的含义对其进行标记,而不关心信息本身该如何在浏览器中显示。如HTML中最常见的标签<title>、<h1>和<h2>等,它们分别代表网页的标题、一级标题和二级标题。虽然<h1>和<h2>本身带有一定的显示格式,但它们只是为了与普通文本区别开来,其主要目的还是为了标记网页的标题信息。随着Web的普及、应用以及浏览器生产商之间的竞争,HTML标签的数量逐渐增多,而且新的标签越来越注重对显示格式的描述,比如标签<font>、<center>和<bgcolor>等等。这与HTML的设计初衷背道而驰。
l 内容与格式的混合
在HTML中,信息内容与其显示格式是混合在一起的,HTML标签的作用主要是告诉浏览器内容该以何种方式显示这些内容,这使得在HTML中查找信息非常困难,目前通过搜索引擎得到的大量垃圾输出便是明证。
l 显示能力不足
尽管HTML的标签越来越多,但其显示力还是远远不够,例如一些复杂的数学公式或化学分子式。
l 语法结构不严谨
理想状态下,HTML标签应是成对出现的,如<title></title>、<h1></h1>。但你写的HTML文件或是那些由专门的所见即所得的开发工具自动生成的HTML文件,即使在语法上错误百出也不会影响HTML文件的正常显示。HTML中的标签可以单独出现或不具有嵌套关系,比如<h1><h2></h1></h2>。虽然这样的设计在某种程度上方便了网页制作者,但对浏览器的开发者或网页内容的分析人员就是一件另人头痛的事了。
鉴于HTML的上述缺点和不足,W3C推出了XML。
2 什么是XML
XML来源于SGML,是可扩展标记语言(eXtensible Markup Language)的简称。SGML全称标准化通用标记语言(Standard Generalized Markup Language),是一种比HTML更早的标志语言标准。顾名思义,它是标记语言的标准,所有的标记语言都是依照SGML制定的,当然也包括HTML。XML省略了SGML中复杂和不常用的部分,是一个精简的SGML,它综合了SGML的丰富功能与HTML的易用性。
XML之所以称为“可扩展”,是因为它允许你创建属于自己的标签(tags)。这与HTML不同,对于HTML我们只能使用它为我们提供的标签。XML并没有为我们提供任何已经定义好的标签,它只是提供了一个标准,利用这个标准,你可以根据自己的实际需要定义一套标签,即一种新的标记语言。因此严格地说,XML并不是标记语言,而是用来创建标记语言(比如HTML)的元语言。XML既不是HTML的替代产品,也不是HTML的简单升级。
W3C在XML规范[1]中阐述的XML的设计目标包括:
1)XML应可直接用于互联网。
2)XML应该支持各种不同的应用程序。
3)XML应与SGML兼容。
4)用于处理XML的应用程序应该很容易编写。
5)XML中可选特性的数量应尽可能的少,最好是零。
6)XML文档应清晰可读。
7)XML的设计应方便快捷。
8)XML的设计应正式、简洁。
9)XML文档应易于创建。
10)XML标记的简洁性并不重要。
下面通过一个简单的例子,使读者对XML有一个感性的认识。
代码清单3-1
<?xml version = "1.0" encoding="GB2312"?>
<搜索引擎列表>
<搜索引擎>
<名称>百度</名称>
<网址>www.baidu.com </网址>
</搜索引擎>
<搜索引擎>
<名称>谷歌</名称>
<网址>www.google.com </网址>
</搜索引擎>
<搜索引擎>
<名称>雅虎</名称>
<网址>www.yahoo.com</网址>
</搜索引擎>
</搜索引擎列表>
上述代码描述了一个搜索引擎的列表信息,其中包含一些自定义的标签,这组标签很简单,表达了一定的语义信息,让人一目了然。我们可以把这套标签命名为一个新的标记语言,如SEML(Search Engine Markup Language),表示搜索引擎标记语言。
3 XML的优缺点
XML的优点包括:
l 面向具体应用
在使用HTML时,我们只能使用它为我们提供的预定义标签,我们所有的数据与显示格式都必须置于这些标签之下。如果某一具体应用需要一些新的标签,那么对不起,就这些标签你就凑合着用吧。XML则不同,你可以根据实际应用的不同定义各种各样的标签,再也没有谁能限制你的自由,只要这些标签符合XML的规范即可。
l 数据和显示分离
这是XML最大的优点。XML允许你根据自己的需要定义标记,将主要精力放在数据本身及其语义描述上,而不是数据的显示方式。显示方式已经从数据中分离出来,放在了“样式单”中。关于样式单以及XML的显示,将参阅相关的XML文档。
l 方便的数据交换
这主要是因为:1)XML将显示与数据本身相分离,数据交换的内容不再包含任何格式信息;2)XML采用层层嵌套的方式表示数据,结构清晰;3)XML定义的标签一般都直接表达了数据的元数据信息,信息的含义一目了然;4)XML可以跨越不同操作系统、不同平台和软件进行数据交流。
l 严格的语法要求
与HTML不同,XML具有严格的语法规范,如果语法有丝毫差错,分析器都会停止对它的处理。它不但要求要求标签的成对出现、正确的嵌套,而且还必须严格遵守DTD的规定。严格的语法要求虽然在一定程度上提高了对XML编制人员的要求,但却可以大大提高XML文件的可读性和可维护性。从语义网的角度,一个严格遵守语法规则、结构良好的XML文件也会方便机器的理解和处理。
XML仍存在一些不足:
l 语义隐含
XML定义的标签揭示了数据的语义信息,通过这些标签我们就可以很清楚地理解数据本身的含义。但这种语义信息是对我们而言的,机器(计算机)仍不能对其进行“理解”,因为它们所表达的语义信息不是形式化。因此对机器(计算机)而言,XML的语义是隐含的。
l 语义描述
XML的嵌套结构实际上是一种树形结构。通过树形结构表达的数据有时并不能正确地描述数据之间的语义信息。另外,由于XML灵活的标签定义机制,不同的人在描述同一数据时会出现多种不同的XML语法形式。例如:
代码清单3-2
<搜索引擎>
<名称>百度</名称>
<网址>www.baidu.com</网址>
</搜索引擎>
<百度>
<类别>搜索引擎</类别>
<网址> www.baidu.com </网址>
</百度>
<网站>
<名称>百度</名称>
<类别>搜索引擎</类别>
</网站>
虽然上述三个XML片段都描述了同样一个事实,但它们却具有不同的嵌套结构和XML语法形式。因此从这个意义上讲, XML只能表达数据的语法,而不能表达形式化的语义。
4 XML和HTML的比较
XML和HTML都来自于SGML,但它们却有着很大的不同。
在数据的表示方面,HTML将数据与显示格式混合在一起,难于阅读和维护;而XML则将数据与显示相分离,结构清晰,便于阅读和维护。这是二者质的区别。
在标签的使用方面,HTML是一个定型的标记语言,用预定义的标签来显示网页内容,而XML则没有固定的标签,它只为标签的使用提供了一个规范、标准。
HTML没有严格的语法要求,侧重于信息的显示;XML则对语法有严格的规范,侧重于如何用结构化的方式描述信息。
在语义描述上,通过HTML标签几乎不能获得任何与数据内容本身相关的元数据信息,而XML的标签则在一定程度上揭示了数据内容的语义信息。
[1] Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, Eve Maler, François Yergeau. Extensible Markup Language (XML) 1.0 (Fourth Edition). [2006-11-5]. http://www.w3.org/TR/2006/REC-xml-20060816/
|
|
| |
 | |
|
Blog 信 息 |
blog名称:风落沙 日志总数:348 评论数量:550 留言数量:52 访问次数:1592281 建立时间:2005年1月28日 |
|
友 情 连 接 |

|
|
|

| |
|