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文档,再有用的信息复制
发布评论