【摘 要】本文在介绍XML和HTML的区别与联系的基础上,对当前比较流行的XML-QL查询语言及其实现途径做了介绍,并通过实例进行了讨论。XML-QL作为目前比较高效的查询XML文档的语言表现出很强的实用性。
【关键词】HTML、XML、XML-QL、查询语言
1. HTML与XML的比较
(1)HTML与XML的发展
随着网络技术的发展,多种形式的海量数据的组织与管理是人们一直在研究的内容。通过标记来管理文本内容的显示和格式,是Web环境下组织信息的重要方式。现在常用的标记语言有三种:SGML(Standard Generalized Markup Language),一种元语言,可以定义无数种标记、HTML(Hypertext Markup Language),是SGML的一个子集,适用于Web页面的显示、XML(eXtensible Markup Language),SGML的一个子集,用来定义数据结构,适用于电子商务中的大规模数据传输。
早在Web未发明之前,SGML就已存在。正如它的名称所言,SGML是一种用标记来描述文档资料的通用语言,它包含了一系列的文档类型定义(简称DTD),DTD 中定义了标记的含义,因而 SGML 的语法是可以扩展的。SGML十分庞大,既不容易学,又不容易使用,在计算机上实现也十分困难。鉴于这些因素,Web的发明者--欧洲核子物理研究中心的研究人员根据当时(1989年)计算机技术的能力,提出了HTML语言。
HTML只使用SGML中很小一部分标记,例如HTML 3.2定义了70种标记。为了便于在计算机上实现,HTML规定的标记是固定的,即HTML语法是不可扩展的,它不需包含DTD。HTML这种固定的语法使它易学易用,在计算机上开发 HTML的浏览器也十分容易。正是由于HTML的简单性,使 Web 技术从计算机界走向全社会,走向千家万户,Web的发展如日中天。
随着 Web的应用越来越广泛和深入,人们渐渐觉得HTML不够用了,HTML过于简单的语法严重地阻碍了用它来表现复杂的形式。尽管HTML推出了一个又一个新版本,已经有了脚本、表格、帧等表达功能,但始终满足不了不断增长的需求。另一方面,近几年来计算机技术的迅速发展,已经可以实现比当初发明创造HTML时复杂得多的Web浏览器,所以开发一种新的Web页面语言既是必要的,也是可能的。
有人建议直接使用SGML 作为Web语言,这固然能解决HTML遇到的困难。但是SGML太庞大了,用户学习和使用不方便尚且不说,要全面实现SGML的浏览器就非常困难,于是自然会想到仅使用SGML的子集,使新的语言既方便使用又容易实现。正是在这种形势下,Web标准化组织W3C建议使用一种精简的SGML版本,XML应运而生了。
XML是一个精简的SGML,它将SGML的丰富功能与HTML的易用性结合到Web的应用中。XML保留了SGML的可扩展功能,这使XML从根本上有别于HTML。XML要比HTML强大得多,它不再是固定的标记,而是允许定义数量不限的标记来描述文档中的资料,允许嵌套的信息结构。HTML只是Web显示数据的通用方法,而XML提供了一个直接处理 Web 数据的通用方法。HTML着重描述Web页面的显示格式,而XML着重描述的是Web页面的内容。
XML中包括可扩展格式语言XSL(Extensible Style Language) 和可扩展链接语言XLL(Extensible Linking Language)。
XSL用于将XML数据翻译为HTML或其他格式的语言。XSL提供了一种层叠式页面CSS的功能,使开发者构造出具有表达层结构的Web页面来,以有别于XML的数据结构。XSL也能和HTML一起构造层叠式页面。XSL可以解释数量不限的标记,使Web的版面更丰富多彩,例如动态的文本、跑马式的文字。此外,XSL还处理多国文字、双字节的汉字显示、表格的各种各样的处理等。
XLL是XML的链接语言,它与HTML的链接相似,但功能更强大。XLL支持可扩展的链接和多方向的链接。它打破了HTML只支持超级文本概念下最简单的链接限制,能支持独立于地址的域名、双向链路、环路、多个源的集合链接等。XLL链接可不受文档制约,完全按用户要求来指定和管理。
为了使XML易学易用,XML精简了一大片SGML难得用一次的功能。正如几十万汉字中常用的只不过八千,SGML常用的部分只占20%,XML抛弃了SGML中不常用的部分,使它一下就精简了80%。这样一来,XML的语法说明书只有30页,而SGML却有500页。
XML设计中也考虑了它的易用性,易用性来自两个方面:一方面用户编写Web页面方便,另一方面设计人员实现XML浏览器也不太困难。
总之,XML使用一个简单而有灵活的标准格式,为基于Web的应用提供了一个描述数据和交换数据的有效手段。HTML描述了显示全球数据的通用方法,而XML提供了直接处理全球数据的通用方法。
(2)HTML与XML的比较
通过比较分析,HTML与XML的有缺点如下。
HTML的优点:
1) 标记数量少。HTML的所有标记加在一起也不超过100个,而常用的标记也就几十个。网页编程者只要记忆几十个单词,就可以运用自如的Internet上遨游,所以HTML一出现就在全球得到了很快的普及。
2) 语法要求宽松。程序语句对大小写不敏感,控制标记也不一定配对使用,这些特点对HTML 的普及起到很大作用。
3) 和HTML相关的应用软件很多。有很多例如HotDog、FrontPage、HTML ABC、Dreamwaver等“所见即所得”的软件可以方便生成HTML代码。
HTML的不足:
1) 标记的确定性。HTML语言的标记都是固定的,因此无论是做技术方面资料还是做商贸方面资料,用的都是同一套标记,用户没有办法设计出适合自己领域的特殊标记。
2) HTML的重点在于显示信息的样式。HTML本质上是一种格式显示语言,它没有办法区分页面的数据和样式,而这种局限性也是导致XML标记语言出现的一个重要原因。
3) 不同版本的HTML标记语言规范不统一。HTML标记语言和浏览器的关系非常密切。由HTML编写的代码只有通过浏览器的翻译和解释才能看出效果。浏览器厂商为了各自利益,都制造符合自身利益的标记,从而造成国际上HTML标记语言的混乱局面,许多HTML文本只能在一种浏览器中才能正常显示,而换一种浏览器就不能正常显示或显示结果为乱码。例如微软开发的只能适合自己浏览器的iframe标记在netscape中就不可以显示。
XML的优点:
1) 实现不同数据源之间的数据交换。XML具有跨平台特性,可以提供一种不同数据源之间进行数据交换的公共标准,是一种公共的交互平台,一种数据源只要将它的数据表示成XML格式就能被另一种数据源有效地识别。
2) 一种数据多种显示。HTML是显示WEB数据的专用语言,而XML则是表示存储并用来传输数据的标记语言。XML文档并不决定数据的显示样式,显示部分由其他语言(XSL和CSS)来解决的。XML将信息的数据部分和信息的样式显示部分进行了区分,我们可以给同一份数据添加多种样式,从而得到多种显示效果。
3) 实现数据的分布式处理。XML数据模型的一个优点就是将原来必须由服务器端处理的许多负载都分配到了客户端上处理,从而降低了服务器的负担,优化了服务器的性能,而这在HTML标记语言体系结构中是根本不可实现的。
简单易学且功能强大。XML标记语言继承了HTML语言简单易学的特性,功能十分强大。XML本身就是SGML的一个子集,是一种专门应用在INTERNET上的SGML文档,因而XML充分继承了SGML的优点,也克服了SGML的缺点。