网络管理员指导:Web中的XML应用

网络管理员指导:Web中的XML应用,第1张

网络管理员指导:Web中的XML应用,第2张

Internet改变了世界。在Internet迅速发展的20年中,人们的生活和工作等各个方面都不知不觉地发生着巨大的变化。如今,Internet已经无处不在了,这其中WWW(World Wide Web)起了决定性的作用。
  随着需求的发展,Web的功能不再停留在原有的静态数据获取上,而是朝着更高级、更智能的Web服务发展。简单地说,Web服务能够对数据进行动态搜索、采集和整理,为人们提供真正需要的信息。人们通过它可以得到个性化服务,方便地查找资料、购买产品,公司也可以通过它定购原材料、获取订单、出售商品。
  人们渐渐地发现,由于世界上存在着如此多的、完全不同的客户平台,在不同平台间交换数据,同时还要保证数据的完整和服务的高效,这是件令人头痛的事情。在大型Web应用中,工程师们往往被数据格式的转换弄得疲惫不堪,即便是整理完成的数据,如何让各种客户端都能正确获取和理解也是不小的麻烦。最终,这一问题成为制约Web Service发展的瓶颈。因此,人们需要一种平台无关的、能够同时被人类和机器所理解和处理的文本数据格式。于是,XML诞生了。

  关注XML

  XML(eXtansible Markup Language,可扩展标记语言)是一套用来标记文档的语法,它和现在的Web标记语言HTML相同,都是由SGML发展而来(由于SGML过于求大、求全,未能广泛应用),同样由W3C(World Wide Web Consortium万维网联盟)制定标准。其目标是统一未来跨平台数据交换的格式,并取代现有的HTML成为下一代Web页的标准。
  XML和HTML都采用标记来表示数据,但本质上却完全不同。HTML标记由W3C管理,只有W3C能够定义、扩展和管理这些标记,因此,如果自定义的标记不被W3C承认,也就没有任何价值。同时,HTML本身不能帮助理解或管理数据,例如,要从HTML文本中提取有效数据完全凭借人类的思维,我们无法编写这样的程序,让它从关于书本的HTML文本中获取作者的名称。因为有的作者可能用

表示,有的可能被包含,HTML并未对如何表示一个作者制定规范,因而没法让程序理解哪个标记包含作者,哪个没有。
  XML正好相反,它的标记是可自定义的、可扩展的和可识别的。例如,我们可以在关于书籍的XML文本中,定义标记为书本的作者,只要遵循相应的DTD(Document Type Define,文档类型定义),那么任何来源的XML文本,其元素都可以被正确识别,这在HTML是无法实现的。更重要的是,理论上任何应用都可以识别并处理这些数据,如Web浏览器、WAP手机、数据库系统或任何其它传统软件,只要它们能够理解并遵守DTD规范就都可以。最后,依照每个应用的需要,可以根据实际情况创建更多标记,或赋予标记不同的含义。如前面的,在介绍书本的文档中可以是作者,在介绍古董的文档中可以是古玩的名称,在学习化学的文档中可以是化学元素,完全可以根据需求来处理,并且能够保证不被混淆。
  另外,XML比HTML更加严格。它不允许出现不配对的标记,如常用的回车符
,在XML中,要么是
,要么是

。也不允许标记的堆叠,如
,而且XML区分大小写。最后,XML文档有且仅有一个根元素。
  XML可以应用到Web,但不限于Web,就像我们看到的那样,通过XML最终在前所未有的范围内,实现统一的数据格式规范和完善的处理方法。
  由于XML的可扩展标记非常灵活,能够正确解析它的浏览器非常稀少。现有的XHTML做出了尝试,它是一种比XML更加严格的超文本标记语言,但它毕竟还是属于固定标记的文档,在数据交换中还不能和XML相提并论。正是由于目前的浏览器对XML的支持不够,造成XML在Web中的应用受到了严重限制,因此,将XML应用到Web必须采用其它的手段。目前,被广泛应用的主要包括W3C自己制定的XSL和一些服务器端脚本,如PHP、JSP等。下面谈谈这些Web中的XML应用方法,希望能够达到抛砖引玉的目的。

  XML与XSLT

  首先,我们来看看由W3C制定的XML转换标准—XSL(eXtansible Style Language,扩展样式表语言)。它的作用就是让XML看上去像现有的HTML一样多姿多彩。在此基础上,发展了三种XML应用:XSLT、Xpath和XSL-SOXSLT(XSL Transformation)负责将XML文档动态地转换为HTML格式,并发送给浏览器。后两种也具备类似功能,由于应用不及XSLT广泛,就不再介绍。
  要使用XSLT,必须在XML文档中指出。例如,要使一篇XML文档被浏览器请求时呈现类似于HTML的效果,必须在XML文档前面指定相应的XSL文件,如下所示:
<?xml version=“1.0”>
<?xml-stylesheet type=“text/xml” href=“../xslt/normal.xsl”>

whoami…… xml 数据 ……

  在相应路径中,应当有一个合适的normal.xsl文档。
  XSLT使用模板完成XML到HTML的转换。例如,想要将文档中的节点提取出来,并显示为加粗字符,这样的XSLT可以满足要求:
// 文件名:normal.xsl
<?xml version=“1.0”?>

xmlnsxsl=http://www.w3.org/TR/WD-xsl,注意区分大小写 //-->



DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 网络管理员指导:Web中的XML应用

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情