2024年4月17日发(作者:)

2010年第1O期 福建电脑 177 

使用XSL结合ADO转化网页数据 

黄鸿华 

(福建交通职业技术学院福建福州350007) 

【摘 要】:XSL可以将一种X/VlL语言转换为另一中XML语言。全文首先介绍了XSL语言的作用、 

关键技术以及它的应用方面:用实例讲述使用XSL语言将XML文档转化成HTML文档的方法;以及从 

ADO记录集得到XML格式数据的办法。 

【关键词】:XSL,网页数据,转换 

1.XSL概述 

</div> 

XSL是指可扩展样式表语言 这是一种用于以可 

</xsl:template> 

读格式呈现XML数据的语言 XSL实际上包含两个部 

/<xsl:stylesheet> 

分: 

接着在服务器端转换XML文件为HTML输出。首 

XSLT一用于转换XML文档的语言 

先先要建立一个Microsoft Parser(XMLDOM)解析的对 

XPath一用于在XML文档中导航的语言 

象.用Server.CreateObject(”Microsoft.XMLDOM”1的代码 

XSLT是XSL最重要的部分 XSLT是用来将一种 

声明一个xrnl对象后.把async的设计false,也就是要 

XML文档转换为另一种XML文档的语言。在服务器 

设定xml不能异步加载。接下来用load方法把mem. 

端我们通常使用XSLT语言处理XML文档.以实现灵 

ber.xml载人内存生成XMLDOM 这样XML就成功载 

活、强大的输出功能。 

入了。 

2.用XSL将×ML文档转化成HTML文档 

再接下来.要来处理XSL。同样的,用Server.Cre. 

为了使我们的XML数据能被所有的浏览器正确 

ateObject(”Microsoft.XMLDOMn1来声明一个XSL对象, 

显示.我们不得不在服务器端将XML转换成纯HTML 

下一步用load方法把member.xsl载入内存.在内存中 

代码,再输出给浏览器。这也是使用XSL的另一个好 

生成xsl的XMLDOM。这样就完成了xml载入和xsl载 

处。在服务器端将一种格式转换为另一种格式也是 

入的工作。接下来.调用transformNode的方法,来转 

XSL的设计目标之一 

换.把xml中和数据通过xsI转化为html输出,这样就 

同样.转换工作也将成为未来服务器端的主要工 

完成了整个数据的转化过程。 

作。 

3.给合ADO实现网页数据转化 

以下我们用一个例子来说明如何使用xsl将XML 

ADO可以实现数据库和XML文档之间的双向转 

文档转化成HTML文档: 

换。XML支持把一个记录集合对象保存为一个XML 

下面是一个XML文档member.xm1)例子的部分代 

文档.它也能够把一个XML文档作为一个记录集合进 

码: 

行处理.这样就在XML文档和数据库之间提供了一个 

<?xral version=”1.0”?> 

桥梁。这种映射实际上是模型驱动的,数据可以被看成 

<data> 

是一棵对象树.一个具有嵌套结构的树可以作为一个 

<:r-Ow id=”55341”userName=”zx641225226”markNum=”500’V) 

嵌套的记录结果集被显示,反之也是如此。另外,如果 

<lOW id=”55340”userName=”gotosehool”m ̄kNum=”500”,) 

记录集合数据有变化的话.可以反映到相应的XML文 

<row id=”55339”userName=”vivi890”markNum=”500”,) 

<row id=”55338”userNatile=”li198922”markNum=”500”,) 

档中.而XML文档中内容的变化也可以导致数据库内 

<row id=”55337”userName=”zhangjiqing”m ̄kNum=”500”,> 

容的变化。 

</data> 

我们可以直接利用记录集内建的save方法.它能 

首先编写一个如下所示XSL文件(member.xs1): 

够自动地把记录集的内容转换成XML格式.我们调用 

<?xml version= 1.O,?> 

save方法后.我们就可以立即释放内存中的记录集对 

<xsl:stylesheet xmlns:xsl=”http://www.w3.org/TR/WD-xsl’’> 

象实例。save方法有两个参数:一个是XML要保存的 

<xsl:template match=”,”> 

<div class=”member”> 

地方。一个是指示符,标明数据以何种格式保存。我们 

账号:(】【sl:v8lue—of select=”@userName' <br,> 

可以把数据保存成XML DOM对象(ADO STREAM对 

id:<xsl:vahe-of select=”@id”I><brl> 

象),也可以直接保存成ASP RESPONSE对象,为通用 

积分:<xsl:value—of select="@mark”,> 

起见,我们保存成XML DOM,第二个(下转第121页) 

2010年第10期 福建电脑 121 

发过来的事件消息经查询订阅模块检查.通过报表服 服务.松耦合的SOA构架增加了系统部署的灵活性。 

4 在此构架基础上可以进一步研究生成安全的 

务生成指定的报表后。由消息发送模块发往相应的订 

阅者。 

RFID应用构架标准 

匡 亟 臣 回 

构架存在的问题: 

1)标签访问安全性.需要标签与读写器的支持。整 

个系统的安全都是基于PKI机制的安全访问控制,由 

于生产技术条件的限制前还不能将非对称算法制作在 

标签上。因此标签访问安全部分暂时还不能实施。在不 

远的将来CM0S工艺的提高非对称算法移植至标签上 

时.整个安全方案就可以实现。 

2)读写设备管理服务的协议中.需要设备在接入 

网络时主动向边缘服务器通知接入.目前的大多读写 

图4 R兀D查询订阅服务器构架 

设备并不具备这一功能.因此设备动态管理部分需要 

③消息发送模块:将消息绑定在指定的协议上发 

读写器厂商的支持 

往消息的订阅者.使用的协议有HTrP,HTTPS等。 

5、小结 

④报表服务:按照应用的要求定制及产生报表。 

本文提出了基于SOA的安全RFID中间件构架. 

4、基于SOA的安全RFID中间件构架特点 

并对这一构架的各组成部分进行了详细的介绍。新的 

基于SOA的安全RFID中间件构架兼容并扩展了 

构架主要特点是在兼容EPC global标准的同时.提供 

EPC global构架标准。这一构架的特点主要在于: 

了更高的访问安全及更加灵活的设备动态管理等服 

1)增强了标签访问的安全性 通过基于CA的安全 

务。 

访问协议克服了EPC global构架标准中标签访问容易 

面向服务的架构(SOA)的目标就是建立沟通标准, 

被窃听、跟踪等弱点 

突破应用程序对应用程序沟通的障碍.实现商业流程 

2)对RFID系统中的设备管理进行了扩展。增设了 

自动化。支持商业模式的创新.让IT变得更灵活,从而 

设备管理服务及设备管理协议.使得新增设备的工作 

更快地响应需求。因此,RF1D中间件在未来发展上,将 

快速完成 

会以面向服务的架构为基础的趋势.为企业提供更弹 

3)将各层可以独立运行的功能都形成相对独立的 

性灵活的服务 

(上接第177页) 

参数用adPersistXML ADO常量。方法如下: 

到新的文档中.通过//row的xpath的表达式.就可以实 

Const adPersistXML=1 

现这个目的。只要把所有row节点复制完成,我们就得 

Dim ohjXMLDOM 

到了不含了schema信息的xml文档了 

Set objXMLDOM=Server.CreateObject(MSXML2.DOMDocument.3.01 

objRecordset.save obiXMLDOM adPersistXML 

经过上面的处理以后.我们就得到了所想要的 

eSt objRecordset=Nothing 

XML文档了。 

这种方法方便快捷,而且不容易出错.对不同的查 

到此为止.我们介绍了从ADO记录集得到XML 

询,也不用手动更改节点名字。但是,这种方法产生的 

格式数据的几种办法,也得到了最简化的字符串。但是 

XML不够简洁。 

有几个问题你仍然需要注意,有些字段值还有XML里 

ADO自动产生的XML包含了scheina信息.它描 

不支持的字符,比如宝洁公司的名称P&G等,在做转 

述这个XML里允许有什么节点和属性以及采用何种 

换时要进行编码处理 在Microsoft ADO 2.6的SDK里 

数据类型,而且数据节点也增加了名称空间。schema 

有使用save方法时要注意的以下几个问题:11save方 

信息在需要数据验证的地方或进行更复杂的处理或许 

法只对open Recordset起作用;2)不支持带有adVari. 

很有用,但是,大多数情况下,我们使用的是瘦客户机. 

ant,adlDispatch。adIUnknown类型的字段的记录集的 

不需要schema信息。所以我们要处理掉多余的信息。 

save;3)保存分级的记录集(data shapes)有两个限制:不 

因此.我们把生成的xml载人内存生成DOM再进行处 

能保存参数化和含有未解决的更新的记录集 

理。通过再新建一个空的xml文档,再有用的信息复制