扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
三. 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描述天气预报的实例:
<weatherreport>
<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>
<hindex>51</hindex>
<humidity>87</humidity>
<visibility>10</visibility>
<uvindex>1</uvindex>
</measurements>
</weatherreport>
为了使编写的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组织制定,但是已经有许多公司表示全力支持XML,并开发了不少XML工具。Adobe公司的FrameMaker可以用来书写XML文档。Microsoft公司推出的IE 4.0已经可以显示、处理和编辑XML文档,Microsoft公司作出承诺,要在下一个版本的Office 软件如MS Word、Excel中支持XML。Netscape、Sun公司也不甘寂寞,纷纷表示要在他们的Web工具中支持XML。除了这些著名的公司有所行动外,其他小公司也把XML 作为一种商机,纷纷投入到XML的开发工作中。例如ArborText 公司的Cedar项目旨在开发XSL;ArborText公司和Microsoft公司一起向W3C提出了XSL的标准草案;Grif公司的Symposia Doc+则是一个编辑XML文档的可见即可得的工具。此外还有Copsol公司的XML开发工具,Norbert公司的XML句法分析器,Jade公司的XSL工具包以及支持客户/服务机应用的Serucie 98等。
六. XML展望
任何一项新技术的产生都是有其需求背景的,XML的诞生是在HTML遇到不可克服的困难之后。近年来HTML在许多复杂的Web应用中遇到了问题,要彻底解决这些问题,必须用功能强大的XML来替代HTML作为Web页面的书写工具。XML有利于信息的表达和结构化组织,从而使数据搜索更有效;XML可以使用URL别名使 Web的维护更方便,也使Web的应用更稳定;XML可以使用数字签名使Web的应用更广阔拓展到安全保密领域。可以认为未来的Web书写工具必定是XML。而XML的广泛使用必然能推动Web不断发展,从而开创Web应用的新时代。
Web的应用将随着XML的使用而更精彩,以下是可以预见的XML的几种应用。
XML/EDI电子数据交换
EDI(Electronic Data Interchange)是用电子技术代替基于纸张的操作手段,用于公司之间的单据交换。XML的丰富的格式语言可用来描述不同类型的单据,例如信用证、贷款申请表、保险单、索赔单以及各种发票等。结构化的XML文档送至Web的数据可以被加密,并且很容易附加上数字签名。XML的安全保密措施可在EDI的应用中充分显示它的魅力,XML有希望推动EDI的大规模的应用。
化学标记语言CML和数学标记语言Math ML
CML(chamical Markup Language)和Math ML(Mathematical Markup Language)是XML应用于描述化学和数学公式的标记语言。CML可描述分子与晶体结构、化合物的光谱结构等。而Math ML则是数学家的福音,自Web问世以来,数学家们第一次可以使用Math ML将数学公式精确地显示在浏览器上。
开放式软件描述格式OSD
和EDI的命运相仿,软件包的上网发行一直处于试行阶段。OSD(Open Software Descriptipon)是XML的一组用来描述各种软件产品的标记集,可以详细说明软件的规格、使用说明以及可运行平台等。
通道定义格式CDF
通道定义格式CDF(Channel definition format)是Microsoft在IE 4.0浏览器中使用的XML数据格式, 用于描述活动通道的内容和桌面部件,指明通道的信息及其更新情况。CDF 使不同平台的互操作成为可能,使Web发布者可以控制推(push)技术。专用的推技术将不再影响不同推技术的互操作性,这样一来,从互不兼容的平台上可以获得相同的Web内容。
开放式财务交换OFX
OFX(Open Financial Exchange)也是XML的一种标记集,用于描述会计事务所与客户之间的业务往来。使用OFX,客户与会计事务所之间可以直接交换财务数据,包括电子银行和支付协议等说明文件。
为了推动XML的使用,W3C已经批准了XML标准1.0版本,相信XML 10的颁布会带动大批高级的Web应用,用户必须从现在起开始考虑用XML来书写Web页面。但是XML的大量使用并不意味着HTML会马上消亡。习惯的势力是强大的,正如Cobol语言在很长的一段时间里没有退出历史舞台一样,由于现存的大量的Web页面都是用HTML书写的,HTML决不会轻易退出使用。可以预计,在未来的5年内,XML将和HTML携手并肩共同使用在Web应用的不同领域中。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者