XML的QL查询语言及其实现-1

原创 2004年06月13日 16:09:00

    【摘 要】本文在介绍XMLHTML的区别与联系的基础上,对当前比较流行的XMLQL查询语言及其实现途径做了介绍,并通过实例进行了讨论。XML-QL作为目前比较高效的查询XML文档的语言表现出很强的实用性。

       【关键词】HTMLXMLXML-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标记语言体系结构中是根本不可实现的。

4)      简单易学且功能强大。XML标记语言继承了HTML语言简单易学的特性,功能十分强大。XML本身就是SGML的一个子集,是一种专门应用在INTERNET上的SGML文档,因而XML充分继承了SGML的优点,也克服了SGML的缺点。/sw/tools/xmlql/

黑马程序员_基于XML的学生成绩管理平台

------- android培训、java培训、期待与您交流! ----------  一、需求如下:      二、系统框架如下:  三、代码实现如下: 1、s...
  • simplehaa
  • simplehaa
  • 2015年10月17日 22:43
  • 588

MyBatis关联查询(一对一)

我们以一个例子demo的形式,说明Mybatis的一对一关联查询 设计teachers表 classes表设置外键 classes表 classes表是课程表,teachers表是教师信息表...
  • u014427391
  • u014427391
  • 2016年05月01日 23:26
  • 5013

C#的Winform多语言实现(XML文件)

使用XML文件实现Winform多语言切换,本博文提供的代码可以实现简体中文、繁体中文、英文的切换。如果需要增加其它语言的切换,只需要编写相应的语言的XML文件即可。 并且,当修改了语言之后,会更新所...
  • softimite_zifeng
  • softimite_zifeng
  • 2017年01月07日 20:24
  • 1597

XML语言基本介绍

本文暨《计算机是怎样跑起来的》总结,个人感觉矢泽久雄这本书写的特别好,推荐大家读一下。XML究竟是什么?关于定义 XML全称是Extensible Markup Language,即可扩展标记语言 怎...
  • qq_16811963
  • qq_16811963
  • 2016年10月29日 14:50
  • 3112

关于XML的读写操作以及查询操作

我们在做一些项目的时候,往往会用XML来配置内部成员,部署他们之间的关系,使得程序运行起来不至于太混乱,今天就稍微讲解一下关于XML的一些用法。...
  • hasion
  • hasion
  • 2015年02月09日 10:42
  • 882

XML语言基础1

这学期选修了XML技术这门课,没有发课本,于是参考了W3school教程,整理一下上课的内容。 1.XML简介 XML是一种标记语言,很类似HTML,它不是对HTML的替代,而是对HTML的补充。...
  • lighten_7
  • lighten_7
  • 2017年04月06日 15:50
  • 135

【JavaScript】JS读取XML文件并进行搜索

需求效果 点击链接,当前页面加载xml文件并展示对应内容 通过搜索框,搜索xml文件内节点数据,展示包含内容的节点数据 功能实现Demo最终实现效果 http://loadxmldemo.coderf...
  • diandianxiyu
  • diandianxiyu
  • 2016年02月17日 23:47
  • 1401

浅谈XML语言(一)

XML是什么鬼?对于搞Android开发的同志那真是再熟悉不过了,xml就是我们的视图,布局,View,这里我要说的是独立于Android之外的XML。 我们知道有HTML,XHTML,这些都是超文...
  • ming_147
  • ming_147
  • 2016年09月02日 15:09
  • 442

C语言对xml文件的读写操作

C语言对xml文件的读写操作 2012-08-21 21:48 1269人阅读 评论(1) 收藏 举报 xml语言c文档pathwindows 读取和设置xml配置文件是最常用...
  • wangzhaopeng0316
  • wangzhaopeng0316
  • 2013年04月26日 00:11
  • 5297

c语言xml解析器libxm2

写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML库,而且它同时支持多种编程语言;2)LIBXML2库...
  • dxpqxb
  • dxpqxb
  • 2014年03月24日 19:36
  • 1599
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XML的QL查询语言及其实现-1
举报原因:
原因补充:

(最多只允许输入30个字)