当前位置:首页>>XML教程>>XML教程>>构造未来Web页面的工具语言-- XML
构造未来Web页面的工具语言-- XML
2009/11/8 13:19:18
      一. Web热
   Internet已经有20多年的历史了,近几年才出现了Internet热,这主要应归功于Web。Internet提供了世界范围内网络互连和通信功能,Web则是一个环球信息资源库。Web由无数的页面(Home page主页)组成,页面上的信息包罗万象,而且时时在增加,天天在更新。用户只要打开浏览器就能得到他们感兴趣的资料。Web的易用性使千家万户都能共享 Internet上巨大的信息资源。时下,人人都在谈论Web和主页,翻开报纸或新闻杂志,几乎每天都要提到Web和主页。从一个小商店到一个大公司,从研究机关到学校,无不骄傲地向他人显示着自己的主页和 Web 地址。Web和主页已经成为计算机和通信领域乃至全社会的热点。

  二. 用户还不能满意现在的Web
   到目前为止,几乎所有的Web页面都是用HTML编写的。HTML简单易学又通用,句法简明紧凑,加上其扩充的表格、帧、脚本等功能,使它得以在Web主页上大显身手。但是随着Web应用的越来越广泛,HTML过于简单的弱点也越来越明显了。
   1.链路丢失后不能自动纠正。 由于许多页面的URL地址经常变化,当你浏览这些页面时就会遇到烦人的404 URL地址未找到的信息。所以你不得不手工一个个地更改链接相关页面的URL地址,这大大加重了Web页面的维护工作量。
   2.动态内容需要下载的部件太多。用HTML建立的页面目前还不能对其页面的外观属性,例如色彩、字体、背景等实现更新,你只能重新下载一个新的页面或Java部件。但Java保存的数据搜索引擎是无法访问的,所以在HTML页面中使用Java来显示动态内容也不是灵丹妙药。
   3.搜索时间长。由于HTML页面没有类似于数据库的结构,在这样的文档资料中搜索目标时需要对全部页面的所有内容扫描,往往检索出一大堆与主题词无关的内容, 这是因为HTML无法区分信息与元信息而造成的。而且HTML不支持信息嵌套体系结构,因而限制了全文检索功能。
   4. HTML缺乏对双字节或多国文字的支持,或者说支持不够。例如中文信息页面在不同的平台下会出现格式不齐等问题。
   5. HTML可扩展性差。科学家无法用HTML书写数学公式、化学方程式以及分子晶体结构。
   正是由于这些缺点,人们已经开始研究能改进或替代HTML的Web页面制作语言。其中最有成效的,并已初步投入使用的有:可扩展标记语言——Extensible Markup Language简称XML、叠式页面——Cascading Style Sheets简称CSS以及动态HTML即DHTML。这些语言从不同角度解决了HTML存在的问题:XML有利于信息的表达和结构化组织,从而使数据搜索更有效;CSS解决Web页面的继承和显示;DHTML则主要用于Web页的动态显示问题。本文着重介绍可扩展标记语言XML。

  三. XML产生的背景
   XML同HTML一样,都来自Standard Generalized 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
   XML是一个精简的SGML,它将SGML的丰富功能与HTML的易用性结合到Web的应用中。XML保留了SGML的可扩展功能,这使XML从根本上有别于HTML。XML要比HTML强大得多,它不再是固定的标记,而是允许定义数量不限的标记来描述文档中的资料,允许嵌套的信息结构。HTML只是Web显示数据的通用方法,而XML提供了一个直接处理 Web 数据的通用方法。HTML着重描述Web页面的显示格式,而XML着重描述的是Web页面的内容。让我们先来看一看用XML描述天气预报的实例:

  <weatherreport>
   <date>March 25, 1998</date>
   <time>08:00</time>
   <area>
   <city>Seattle</city>
   <state>WA</state>
   <region>West Coast</region>
   <country>USA</country>
   </area>
   <measurements>
   <skies>partly cloudy</skies>
   <temperature>46</temperature>
   <wind>
   <direction>SW</direction>
   <windspeed>6</windspeed>
   </wind>
   <hindex>51</hindex>
   <humidity>87</humidity>
   <visibility>10</visibility>
   <uvindex>1</uvindex>
   </measurements>
   </weatherreport>

  为了使编写的Web页面成为有效的XML文档,文中每一添加的标记必须记入一个独立的DTD文件中。当客户浏览天气预报文档时,相关的DTD文件是随着文档一起下载到客户端,客户浏览器就懂得怎样来处理它们,例如你可以从几个天气报告中计算出平均温度等,最后将结果显示出来。
   DTD文件使XML页面能包含更多的内容,表现更复杂的形式。从实例中也可以看出XML页面信息是结构化的,有些与数据库结构类似,因而更具访问性,其检索结果更有针对性、更准确。
   另外你也可以将URL地址定义在DTD文件中,当Web主页地址发生变化时,你只需改动DTD文件中的定义即可,而不必一一在HTML文档中改变URL地址,从而使Web的维护更方便,用户也不会遇到URL地址找不到的信息,这样一来,Web的应用更稳定。
   并不是所有的DTD文件都要下载到客户端,已经制订成为标准的协议,例如在后面第六点中提到的化学标记语言CML、数学标记语言MML等是不需要DTD文件的。
   除了DTD外,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提供了直接处理全球数据的通用方法。

  五. 支持XML的公司和它们的开发工具
   尽管XML还处在开发阶段,其标准正在由W3C组织制定,但是已经有许多公司表示全力支持