2008年第05期沿海企业与科技NO.05,2008(总第96期)coAsTALEN’IERPRIsEsANDscIENcE&TEcHNoLoGY(CumulativelyNO.96)XML语言及在XML基础上构建的三层c/s模型应用覃汉华[摘要]可扩展标志语言(简称xML)是新一代的web编程语言,在实现信息标准化、信息的交流与共享上有其独特的技术优势,因此它受到了广泛的重视。文章分析xML语言的特点;然后对其从数据获取、传输至显示以及外部处理的应用,分析其对数据库的支持作用以及各个数据库对舭语言的支撑;接着以图书资料管理系统为例。说明其具体的实现;最后对基于xML的三层c/s模型在信息标准化、数据处理等方面的应用优势进行总结。[关键词]xML;数据库;chenc/server模型;三层结构模型[作者简介]覃汉华,广西质量工程技术学校教师,研究方向:计算机技术,广西南宁。530022[中图分类号]TP311.131[文献标识码]A[文章编号]1007—7723(2008)05一0030—0004一、XML语言的起源及特点XML是ExtensjbleMarkupLmguage的缩写,即可扩展标记语言,是一种人们可以用来创建自己的标记的标记语言。它由万维网协会(w3C)创建,用来克服HTML(即超文本标记语言(H),pertextMarkupkguage),它是所有网页的基础)的局限。和HTML一样,xML基于SGML(StandardGene卜alizedMarkupLanguage:标准通用标记语言)。尽管SGML已在出版业中使用了数十年,但对其理解方面的复杂性使许多本打算使用它的人望而却步。sGML也代表“听起来很棒,但或许以后会用(soundsgreat,maybelater)”。XML是为Web设计的。XML实际上是Web上表示结构化信息的一种标准文本格式,它没有复杂的语法和包罗万象的数据定义。xML同HTML一样,都来自SGML。SGML是一种在web发明之前就早已存在的用标记来描述文档资料的通用语言。但sGML十分庞大且难以学习和使用。鉴于此,人们提出了HTML语言。但近年来,随着web应用的不断深入,HTML在需求广泛的应用中已显得捉襟见肘,有人建议直接使用sGML作为web语言。但SGML太庞大了,学用两难尚且不说,就是全面实现SGML的浏览器也非常困难。于是Web标准化组织W3C建议使用一种精简的SGML版本——XML。xML与SGML一样,是一个用来定义其他语言的元语言。与SGML相比,xML规范不到SGML规范的l/10,简单易懂,是一门既无标签集也无语法的新一代标记语言。xML继承了SGML的许多特性,一是可扩展性。XML允许使用者创建和使用他们自己的标记而不是HTML的有限词汇表。这一点至关重要,企业可以用xML为电子商务和供应链集成等应用定义自己的标记语言,甚至特定行业一起来定义该领域的特殊标记语言,作为该领域信息共享与数据交换的基础。二是是灵活性。HTML很难迸一步发展,就是因为它是格式、超文本和图形用户界面语义的混合,要同时发展这些混合在一起的功能是很困难的。而xML提供了一种结构化的数据表示方式,使得用户界面分离于结构化数据。所以,web用户所追求的许多先进功能在xML环境下更容易实现。三是自描述性。XML文档通常包含一个文档类型声明,因而xML文档是自描述的。不仅人能读懂XML文档,计算机也能处理。XML表示数据的方式真正做到了独立于应用系统,并且数据能够重用。XML文档被看作是文档的数据库化和数据的文档化。除了上述先进特性以外,XML还具有简明性。它只有sGML约20%的复杂性,但却具有sGML约80%的功能。xML比完整的SGML简单得多,易学、易用并且易实现。另外,xML也吸收了人们多年来在Web上使用HTML的经验。XML支持世界上几乎所有的主要语言,并且不同语言的文本可以在同一文档中混合使用,应用xML的软件能处
万方数据
2∞8 年第 05 期
(总第 96 期)
沿海企业与科技 ,2008
(Cumulatively ) COASTAL ENTERPRISES AND SCIENCE & TECHNOlβGY
XML 语言及在 XML基础上构建的
三层 C/S 模型应用
章汉华
[摘要] 可扩展标志语言(简称 XML)是新一代的 Web 编程语言,在实现信息标准化、信息的交流与共事上有其独
特的技术优势,因此它受到了广泛的重视。文章分析 XML 语言的特点;然后对其从数据获取、传输至显示以及外部处理的
应用,分析其对数据库的支持作用以及各个数据库对 XML 语言的支撑;接着以图书资料管理系统为例,说明其具体的实
现;最后对基于 XML 的三层 C/S 模型在信息标准化、数据处理等方面的应用优势进行总结。
[关键词] ;数据库; client/ server 模型;二层结构模型
[作者简介] 军汉华,广西质量工程技术学校教师,研究方向:计算机技术,广西 南宁,530022
[中围分类号] TP31 31 文献标识码]A 文章编号] 1ω7-7723(2008 )05-∞30-0004
一、XML 语言的起源及特点
XML 是 Extensible Markup Language 的缩写,
即可扩展标记语言,是一种人们可以用来创建自
己的标记的标记语言。它由万维网协会(W3C)创
建,用来克服 HTML(即超文本标记语言(Hypertext
Markup Language) ,它是所有网页的基础)的局限。
和 HTML 一样,XML基于 SGML (Standard Gener-
alized Markup Language:标准通用标记语言)。尽管
SGML 已在出版业中使用了数十年,但对其理解方
面的复杂性使许多本打算使用宫的人望而却步。
SGML 也代表"听起来很棒,但或许以后会用
(Sounds great, maybe later )" 0 XML 是为 Web 设计
的。
XML 实际上是 Web 上表示结构化信息的一
种标准文本格式,它没有复杂的语法和包罗万象
的数据定义。 XML 同 HTML-样,都来自 SGMLo
SGML是一种在 Web 友明之前就早已存在的用标
记来描述文档资料的通用语言。但 SGML 十分庞
大旦难以学习和使用。鉴于此,人们提出了 HTML
语言。但近年来,随着 Web 应用的不断深人,HTML
在需求广泛的应用中己显得捉襟见肘,有人建议
直接使用 SGML作为 Web 语言。但 SGML 太庞大
了,学用两难尚且不说,就是全面实现 SGML 的浏
览器也非常困难。于是 Web 标准化组织 W3C 建议
使用一种精简的 SGML 版本一-XMLo XML 与
SGML一样,是一个用来定义其他语言的元语言。
与 SGML 相比,XML 规范不到 SGML 规范的 1110 ,
简单易懂,是一门既无标签集也无语法的新一代
30
标记语言。
XML 继承了 SGML 的许多特性,一是可扩展
性。 XML允许使用者创建和使用他们自己的标记
而不是 HTML 的有限词汇表。这一点至关重要,企
业可以用 XML为电子商务和供应链集成等应用定
义自己的标记语言,甚至特定行业一起来定义该
领域的特殊标记语言,作为该领域信息共享与数
据交换的基础。
二是是灵活性。 HTML很难进一步发展,就是
因为它是格式、超文本和图形用户界面语义的、混
合,要同时发展这些混合在一起的功能是很困难
的。而 XML 提供了一种结构化的数据表示方式,
使得用户界面分离于结构化数据。所以,Web 用户
所追求的许多先进功能在 XML 环境下更容易实
现。
三是自描述性。 XML文档通常包含一个文档
类型声明,因而 XML文档是自描述的。不仅人能
读懂 XML 文档,计算机也能处理。 XML 表示数据
的方式真正做到了独立于应用系统,并且数据能
够重用。 XML文档被看作是文档的数据库化和数
据的文梢化。
除了上述先进特性以外,XML 还具有简明性。
它只有 SGML 约 20%的复杂性,但却具有 SGML
约 80%的功能。 XML 比完整的 SGML 简单得多,易
学、易用并且易实现。另外,XML 也吸收了人们多
年来在 Web 上使用 HTML 的经验。 XML支持世界
上几乎所有的主要语言,并且不同语言的文本可
以在同一文档中混合使用,应用 XML 的软件能处
理这些语言的任何组合。所有这一切将使xML成为数据表示的一个开放标准,这种数据表示独立于机器平台、供应商以及编程语言。它将为网络计算注入新的活力,并为信息技术带来新的机遇。目前,许多大公司和开发人员已经开始使用xML,包括B2B在内的许多优秀应用已经证实了xML将会改变今后创建应用程序的方式。从1998年开始,xML被引入许多网络协议,以便于为两个软件提供相互通信的标准方法。简单对象访问协议(sOAP)和xML—RPc规范为软件交互提供了独立于平台的方式,从而为分布式计算环境打开了大门。几乎所有主要的软件厂商都支持SOAP。SOAP的快速成功史无前例地提高了软件的互操作潜力。当今,web服务革命正在兴起,而SOAP正是其基础协议。二、XML对各个数据库的支持应用由于xML具有标记不同字段∞eld)的能力,使得搜索变得更简单和动态化,从而把企业准备扔进废纸篓的文件变成了进行数据挖掘的宝藏。XML把内容从演示格式中解放出来,使材料可以多次重复使用。同样的内容可以分别用于新闻发布、白皮书、宣传册、演示和web页面。对那些需要把不兼容的系统融合在一起的企业,XML可以充当公共传输工具,以中性格式进行数据传输。此外,xML还可以处理各种数据,包括文本、图像和声音,并且可以由用户进行扩展以处理任何特殊类型的数据。从去年以来,三大主流数据库厂商分别以不同的形式对外宣布:支持xML。(一)DB2与XMLIBM加强对Viper数据库XML性能的全面支持。DB2Viper将从根本上改变数据库的游戏规则。通过将Viper置于信息构架的核心位置,用户可以快速地从传统数据管理转换到前所未有的信息管理技术上来,这可以使他们将信息提升为一种服务。(二)OracIe与×ML2005年年初,Oracle发布支持xML的工具包,并宣称与许多共享件和试用版XML组件不同,产品版本的OracleXDK提供XML支持(已经过严格的企业生产环境验证,包括OraclesOA、OracleJDeveloper,ADF、OmcleXMLDB和OmcleXMLPubIisher)。使用OracleXDK的Oracle用户可享受24x7的正式支持。(三)SQLSeⅣer与XMLXML(扩展标记语言)已经成为当今最重要的因特网技术之一。xML的基于文本结构的灵活性使得它可以应用在不可置信的广阔范围的网络任务中。三、基于XML的三层C/S模型从网络体系结构各层次上看,基于xML的三层C/s模型具体实现的功能概括如下:数据层——实现数据的集成,xML数据产生于多种数据源,但都以统一的xML格式表达传输。功能层——实现数据的发送与处理,应用服务器通过http交换数据,通过dom处理XML数据。表示层——实现数据的显示,xML数据可以有多种表现形式,而且可以为外部直接访问、编辑或转换,也可被其他系统所用。在基于xML的三层C/s模型中把xML作为一种结构化信息交换的表示方法,负责所有与数据源的通信,根据最终用户的要求,聚集和组织从多个远程数据库服务器上获取数据,并用xML形式交互式地把数据源返回的消息传递给客户机。以下是xML的三层C,s模型应用过程:1.从数据层获取数据生成XML文档由于XML能够使不同来源的结构化的数据很容易地结合在一起,所以通过XML,可以在中间层服务器上对从后端数据库和其他应用处来的数据进行集成。然后,数据就能被发送到客户或其他服务器作进一步的集合、处理和分发。虽然每个数据库描述数据都是不同的,但xML可以自己定义文件标签,例如:通过XML,图书管理资料就可以很容易以标准的方式按照书名、作者、图书简介或其他的标准进行分类。2.XML数据的发送与刷新利用XML开放的、基于文本的格式,可以将它通过http像htIIll一样传送。同时,中间层应用服务器将支持xML更新功能,将数据服务器上数据的变化及时地传递给客户,反之亦然。因此,中间层能够从客户端得到更新的数据,并把数据传送到数据储存服务器上。3.XML数据在表示层的显示XML描述的数据发到表示层后,能够用多种方式显示。XML定义的数据,其显示与内容是分开的,因此允许对同一数据指定不同的显示方式,使数据更合理地表现出来。css和xsl为数据的显示提供了公布的机制,本地的数据能够以客户配置、使用者选择或其他标准决定的方式动态地表现出来。hⅡIll描述数据的外观,而XML描述数据本身。由于xML注重的是内容,其显示要通过xsl(exten-siblestylesheetlanguage,可扩展样式语言)或css来
万方数据
理这些语言的任何组合。所有这一切将使 XML成
为数据表示的一个开放标准,这种数据表示独立
于机器平台、供应商以及编程语言。它将为网络计
算注人新的活力,并为信息技术带来新的机遇。目
前,许多大公司和开发人员已经开始使用 XML,包
括 B2B 在内的许多优秀应用已经证实了 XML 将
会改变今后创建应用程序的方式。
从 1998 年开始, XML 被引人许多网络协议,
以便于为两个软件提供相互通信的标准方法。简
单对象访问协议(SOAP)和 XML- RPC 规范为软件
交互提供了独立于平台的方式,从而为分布式计
算环境打开了大门。几乎所有主要的软件厂商都
支持 SOAPo SOAP 的快速成功史无前例地提高了
软件的互操作潜力。当今,Web 服务革命正在兴
起,而 SOAP 正是其基础协议。
二、XML对备个数据库的支持应用
由于 XML具有标记不同字段(自eld)的能力,使
得搜索变得更简单和动态化,从而把企业准备扔
进废纸篓的文件变成了进行数据挖掘的宝藏。
XML把内容从演示格式中解放出来,使材料可以
多次重复使用。同样的内容可以分别用于新闻发
布、白皮书、宣传册、演示和 Web 页面。对那些需要
把不兼容的系统融合在一起的企业,XML可以充
当公共传输工具,以中性格式进行数据传输。此
外,XML 还可以处理各种数据,包括文本、图像和
声音,并且可以由用户进行扩展以处理任何特殊
类型的数据。从去年以来,兰大主流数据库厂商分
别以不同的形式对外宣布:支持 XMLo
(- )082 与 XML
IBM 加强对 Viper 数据库 XML性能的全面支
持。DB2 Viper 将从根本上改变数据库的游戏规则。
通过将 Viper 置于信息构架的核心位置,用户可以
快速地从传统数据管理转换到前所未有的信息管
理技术上来,这可以使他们将信息提升为一种服
务。
{二 )Oracle 与 XML
2005 年年初,Oracle 发布支持 XML 的工具
包,并宣称与许多共享件和试用版 XML组件不同,
产品版本的 Oracle XDK 提供 XML支持(已经过严
格的企业生产环境验证,包括 Oracle SOA 、Oracle
JDeveloperl ADF、Oracle XML DB 和 Oracle XML
Puhlisher)。使用 Oracle XDK 的 Oracle 用户可享受
24x7 的正式支持。
{三 )SQL Server 与 XML
XML(扩展标记语言)已经成为当今最重要的
因特网技术之一。 XML 的基于文本结构的灵活性
使得它可以应用在不可置信的广阔范围的网络任
务中。
三、基于 XML 的三层 C/S 模型
从网络体系结构各层次上看,基于 XML 的三
层 C/S模型具体实现的功能概括如下:
数据层一一实现数据的集成,XML 数据产生
于多种数据源,但都以统一的 XML格式表达传输。
功能层一一实现数据的发送与处理,应用服务
器通过 http 交换数据,通过 dom 处理 XML 数据。
表示层一一实现数据的显示,XML 数据可以
有多种表现形式,而且可以为外部直接访问、编辑
或转换,也可被其他系统所用。
在基于 XML 的三层 C/S 模型中把 XML 作为
一种结构化信息交换的表示方法,负责所有与数
据源的通信,根据最终用户的要求,聚集和组织从
多个远程数据库服务器上获取数据,并用 XML形
式交互式地把数据源返回的消息传递给客户机。
以下是 XML 的三层 C后模型应用过程:
1.从数据层获取数据生成 XML 文档
由于 XML 能够使不同来源的结构化的数据很
容易地结合在一起,所以通过 XML,可以在中间层
服务器上对从后端数据库和其他应用处来的数据
进行集成。然后,数据就能被发送到客户或其他服
务器作进一步的集合、处理和分发。
虽然每个数据库描述数据都是不同的,但
XML 可以自己定义文件标签,例如:通过 XML,图
书管理资料就可以很容易以标准的方式按照书
名、作者、图书简介或其他的标准进行分类。
2. XML 数据的发送与刷新
利用 XML开放的、基于文本的格式,可以将它
通过 http 像 html 一样传送。同时,中间层应用服务
器将支持 XML更新功能,将数据服务器上数据的
变化及时地传递给客户,反之亦然。因此,中间层
能够从客户端得到更新的数据,并把数据传送到
数据储存服务器上。
3. XML 数据在表示层的显示
XML描述的数据发到表示层后,能够用多种
方式显示。 XML定义的数据,其显示与内容是分开
的,因此允许对同一数据指定不同的显示方式,使
数据更合理地表现出来。 css 和 xsl 为数据的显示
提供了公布的机制,本地的数据能够以客户配置、
使用者选择或其他标准决定的方式动态地表现出
来。
html 描述数据的外观,而 XML描述数据本身。
由于 XML 注重的是内容,其显示要通过 xsl(exten
sible stylesheet lan伊age,可扩展样式语言)或 css 来
31
实现。xsl是为xML文件定义的一种标识语言,它提供类似但却远远超过css的强大功能。xsl以包含了一套元素集的XML语法规范而定义,该语法规范将被用来把xML文件转换成htInl文件或xML文档。一个xsl样式表集合了一系列设计规则以用于将信息从xML文件中汲取出,并将其转换成htJIll等其他格式。xsl凭借其可扩展性能够控制无穷无尽的标签,而控制每个标签的方式也是无穷尽的。这就给web提供了高级的布局特性。4.处理和编辑XML数据在基于xML的C,S模型中,不但能够通过xML集合多个数据源的数据,并把数据源数据及时传输给表示层;而且,只要能理解xML数据,就能从客户层处理和编辑中间层的数据,然后通过中间层与数据层之间的数据刷新机制,对数据层数据进行刷新。运用XML解析器能够读人一串XML数据,经过处理,产生一棵结构树,并且使用dom把所有数据元素作为对象。解析器或者用脚本把数据进行进一步的处理,或者把数据移交给另外的应用软件或对象进行进一步的处理。dom实际上是一个应用编程接口(印i),用来定义一种标准方法。通过这种方法,能够处理xML结构树的元素。对象模式控制着使用者如何同结构树交流,并且把所有树的元素作为对象暴露出来。dom用扩展方式支持名域、数据类型、查询和xsl转化。5.基于xML的三层C,S模型的应用实例下面具体介绍如何实现基于XML的三层C/s模型,以笔者做所过的三层C/s模式的图书资料管理为例。它是基于xML表达、传输与处理的,其洋细实现如下:(1)获取数据生成xML文档中问层通过XML获取数据源数据,生成xML文档,其中每一书目的信息包括:书名、作者、图书简介、出版日期。下面所列的就是获取数据源的一段典型例程。<%@language=Vbscript%><?XMLversion=”1.O”encoding=”gb2312”?><图书资料管理><%setconnection=senrer.createobject(”adodb.connection”)connection.opensetitemrecordset=con—nection.execute(”select木丘.omitem”)dowhilenotitemrecordset.eof%><书目>32<书名><%=itemrecordset(”书名”)%></书名><作者><%=iteⅡ玳cordset(”作者’’)%><,作者><图书简介><%=itemrecordset(”图书简介”)%><,图书简介><出版日期><%=it哪recordset(”出版日期”)%></出版日期><,书目><%itemrecordset.movenexd00p%><,图书资料管理>(2)xML文档通过hnp从应用服务器传送到客户机层,并且支持xML更新功能,使得中间层或数据服务器上数据的变化可以传递给客户。(3)xML数据在表示层(客户机层)的表达发送到客户端的数据(图书资料管理数据),可以根据用户对象及其不同的应用要求有不同的显示形式。如下所示的xsl样式表,就是一个显示示例,将生成一个htrIll文档,包括一个表格,其中的一行就为一个“书目”元素。<xsl:templatematch=”/”><html><head><tide>图书资料管理砒de></head><body><table><xsl:fo卜eachselect=”图书资料管理”><虹><xsl:fo卜eachselect=”书目”><td><xsl:p1.ocess—childre一></td></ksl:f-o卜each><,tr>.</ksl:f.o卜each></table><,body></}ltml>《:/xsl:template>(4)编辑、处理数据的实现只要理解了中间层xML文档的数据,就能从任何地方处理和编辑数据(图书资料管理数据)。如下例所示,loaddocument程序打开XML文档,然后调用另一个程序displaynode,它用来显示文档的结构。loaddocument传递给正在打开的XML
万方数据
实现。 xsl 是为 XML 文件定义的一种标识语言,它
提供类似但却远远超过 css 的强大功能。
xsl 以包含了一套元素集的 XML 语法规范而
定义,该语法规范将被用来把 XML 文件转换成
htrnl 文件或 XML文档。一个 xsl 样式表集合了一
系列设计规则以用于将信息从 XML 文件中汲取
出,并将其转换成 html 等其他格式。 xsl 凭借其可
扩展性能够控制无穷无尽的标签,而控制每个标
签的方式也是无穷尽的。这就给 web 提供了高级
的布局特性。
4. 处理和编辑 XML数据
在基于 XML 的 C/S 模型中,不但能够通过
XML集合多个数据源的数据,并把数据源数据及
时传输给表示层;而且,只要能理解 XML 数据,就
能从客户层处理和编辑中间层的数据,然后通过
中间层与数据层之间的数据刷新机制,对数据层
数据进行刷新。
运用 XML解析器能够读人一串 XML 数据,经
过处理,产生一棵结构树,并且使用 dom 把所有数
据元素作为对象。解析器或者用脚本把数据进行
进一步的处理,或者把数据移交给另外的应用软
件或对象进行进一步的处理。
dom 实际上是一个应用编程接口 (api) ,用来
定义一种标准方法。通过这种方法,能够处理 XML
结构树的元素。对象模式控制着使用者如何同结
构树交流,并且把所有树的元素作为对象暴露出
来。 dom 用扩展方式支持名域、数据类型、查询和
xsl 转化。
5. 基于 XML 的三层 C后模型的应用实例
下面具体介绍如何实现基于 XML 的三层 C/S
模型,以笔者做所过的主层 C后模式的图书资料管
理为例。它是基于 XML表达、传输与处理的,其详
细实现如下:
(1)获取数据生成 XML文档
中间层通过 XML 获取数据源数据,生成 XML
文梢,其中每一书目的信息包括:书名、作者、图书
简介、出版日期。下面所列的就是获取数据源的一
段典型例程。
<%@ language=vbscript %>
<? XML version=" " encoding="gb2312" ?>
〈图书资料管理〉
<% set connection= ("adodb.
connection") set itemrecordset =con-
("select ... from item ")do while not
% >
〈书目〉
32
〈书名><%= ite即回ordset ("书名") %><.1 书
名〉
〈作者><%= itemrecordset ("作者") %><.1 作
者〉
〈图书简介><%= itemrecordset ("图书简介")
%><.1 图书简介〉
〈出版日期><%= itemrecordset ("出版日期")
%><.1 出版日期〉
d书目〉
<%∞p%>
d 图书资料管理〉
(2)XML 文档通过 http 从应用服务器传送到
客户机层,并且支持 XML更新功能,使得中间层或
数据服务器上数据的变化可以传递给客户。
(3)XML 数据在表示层(客户机层)的表达
发送到客户端的数据(图书资料管理数据),可
以根据用户对象及其不同的应用要求有不同的显
示形式。如下所示的 xsl 样式表,就是一个显示示
例,将生成一个 htrnl 文档,包括一个表格,其中的
一行就为一个"书目"元素。
<xsl:template match="/">
<htmb
<head>
<title> 图书资料管理<.Ititle>
<lhead>
<body>
<table>
<xsl:for-each select=" 图书资料管理、
<tr>
<xsl:for-each select=" 书目">
<td>
<xsl:process-childrenl>
<.Itd>
</xsl:for-each>
<ltr>
<lxsl:for-each>
</table>
</body>
<lhtmb
<.Ixsl:template>
(4)编辑、处理数据的实现
只要理解了中间层 XML文档的数据,就能从
任何地方处理和编辑数据(图书资料管理数据)。
如下例所示,loaddocument 程序打开 XML 文
挡,然后调用另一个程序 displaynode,它用来显示
文挡的结构。loaddocument 传递给正在打开的 XML
文档的childnodes属性一个引用作为它的参数,同时传递一个整数用来标示开始显示的层次级别。代码利用参数来格式化在visualbasic文档结构显示窗口中的文本。displa),node属性的函数会遍历文档寻找需要的node_text节点类型串,一旦代码找到一个node_text的节点,它会利用nodevalue属性来获得相应的文本串。另外,当前节点的paren恤ode属性指向一个元素类型的节点。元素节点实现了一个noden锄e属性,publicsubloaddocumentOdimxdoc鹊msXML.domdocumemsetxdoc=newmsX】ⅥL.domdocumentxdoc.validateonparse=f址seifxdoc.10ad(”c:\mydocuments\saLmple.XML”)tllendisplaynodexdoc.childnodes,0else”tlledocumemfailedtoload.”endifendsubpublicsubdisplaynode∞yrefnodesasmsXML.iXMLdomnodelist,—byvalindentausinteger)dimxnode鹪msXML.iXMLdornnodeindent=indent+2f.0reachxnodeinnodesif)【Ilode.rlodetyPe=node—textthendebug.printspace$(indent)&xnode.parenmode.noden锄e&一”:”&xnode.nodevalueendififxnode.haschildnodesthendisplaynodexnode.childnodes,indemendifne)【txnodeendsub四、总结在基于xML的三层C/s模型中,中间层一次性从远程数据库中获取满足客户需求的信息,生成相应的xML文档,以后中间层就不需要再与远程数据库进行交互了,即与远程数据库的连接也就终止了。一旦中间件软件把满足客户需要的信息组装起来以后,就可以以xML形式发送给客户了,这样客户与中间层也就无需进一步交互。xML的实体机制是一种节省大量时间的工具,而且也是将多种不同型态的数据并人xML文件中的方法。在xML文件中,你可以将经常使用的xML文字区段定义成实体,可以快速地将XML文字加入到你需要的任何地方,也可以将外部的档案定义成实体,然后将档案的数据附加到文件;这些数据可以由XML本文或其他的文字或非文字数据所组成。同时,丰富的XML数据发送给客户端后,客户应用和脚本语言就可以直接使用这些数据,这时客户端与中间层服务器之间连接就可以终止了。因此,在C,s模型中发送给中间层的信息是简洁的、个人化的、精确的。应用服务器负责在正确的时候组装并交付正确的信息,这将网络上的流量减小并提高了交互能力和用户的满意程度。而且,由于中间层可以提供动态的、易访问的内容,这些内容可以被客户方操作。而且,无需刷新整个用户界面就可以更新页面的内容,这样就减少了从服务器方获取客户方已有信息所需的交互时间。用户可以方便地远程管理数据,使得网络成为一种具有更大的交互性和互操作性的媒体。其次,运用基于xML的三层C,S模型,xML结构化的数据可以从商业规范和表现形式中分离出来,而且可以更详细地定义某个数据对象的数据结构,解决了信息标准化的问题。通过在三层C/S模型使用xML,使得企业之间可以通过网络,与合作伙伴间,进行跨平台、跨操作系统的信息交换。[参考文献][1]11imsllim删yam,kent乜mura。moh虫ou姗oto.xⅣILandjavadeVdopillgwebapplicadom【M].addison—w岱ley,august1999.[2]edd仕el,norbertfnikula,r姐l部hchaIldak.xML南rd岫一nlies【MJ.idgbookswoddwide,硫,1999.[3]宋晓梁,刘东生,许满武.中间件及其在三层客户机/服务器模型中的应用[N].计算机应用,990713.33
万方数据
文档的 childnooes 属性一个引用作为它的参数,同
时传递一个整数用来标示开始显示的层次级别。
代码利用参数来格式化在 visual basic 文档结构显
示窗口中的文本。
displaynode 属性的函数会遍历文档寻找需要
的 nooe_text 节点类型串,一旦代码找到一个
nooe_text 的节点,它会利用 nodevalue 属性来获得
相应的文本串。另外,当前节点的 parentnode 属性
指向一个元素类型的节点。元素节点实现了一个
nodename 属性,
then
public sub loaddocumentO
dim xdoc as
set xd∞= new
= false
if xd∞扣ad ("c:\my documents飞")
displaynode , 0
else
11 the document failed to load. 11
end 证
end sub
public sub displaynode (byref nodes as msXML.
iXMLdomnodelist, _byval indent as integer)
dim xnode 皿
indent = indent + 2
for each xnode in nodes
证 = node_text then
space$ (indent) & .
nodename&
":" &
end 证
if then
displaynode , indent
end if
next xnode
end sub
四、总结
在基于 XML 的三层 C/S 模型中,中间层一次
性从远程数据库中获取满足客户需求的信息,生
成相应的 XML文挡,以后中间层就不需要再与远
程数据库进行交互了,即与远程数据库的连接也
就终止了。一旦中间件软件把满足客户需要的信
息组装起来以后,就可以以 XML形式发送给客户
了,这样客户与中间层也就无需进一步交互。 XML
的实体机制是一种节省大量时间的工具,而且也
是将多种不同型态的数据并人 XML 文件中的方
法。在 XML 文件中,你可以将经常使用的 XML文
字区段定义成实体,可以快速地将 XML文字加入
到你需要的任何地方,也可以将外部的档案定义
成实体,然后将档案的数据附加到文件;这些数据
可以由 XML本文或其他的文字或非文字数据所组
成。
同时,丰富的 XML 数据发送给客户端后,客户
应用和脚本语言就可以直接使用这些数据,这时
客户端与中间层服务器之间连接就可以终止了。
因此,在 C后模型中发送给中间层的信息是简
洁的、个人化的 、精确的。应用服务器负责在正确
的时候组装并交付正确的信息,这将网络上的流
量减小并提高了交互能力和用户的满意程度。而
且,由于中间层可以提供动态的、易访问的内容,
这些内容可以被客户方操作。而且,无需刷新整个
用户界面就可以更新页面的内容,这样就减少了
从服务器方获取客户方已有信息所需的交互时
间。用户可以方便地远程管理数据,使得网络成为
一种具有更大的交互性和互操作性的媒体。
其次,运用基于 XML 的三层 C/S 模型,XML
结构化的数据可以从商业规范和表现形式中分离
出来,而且可以更详细地定义某个数据对象的数
据结构,解决了信息标准化的问题。
通过在三层 C后模型使用 XML,使得企业之
间可以通过网络,与合作伙伴间,进行跨平台、跨
操作系统的信息交换。
[参考文献]
[ 1 Jhiroshi maruyarna ,kent tamura , naohiko uramoto .xML
and java developing web applications [M J .addison-wesley,
au肌1St 1999.
[2 Jed tittel, no巾rt ,阳nesh chandak . XML for dum-
mω[M].idg books wor1dwide ,inc ,1999.
[3J 宋晓梁,如l 东生,许满武.中间件及其在三层客户机/服
务器模型中的应用[N].计算机应用,990713.
33