VB技巧:通过向XSLT传送参数来定制输出

2003-1-2 11:24:35【作者】 畅享网 【进入论坛】
广告

VB技巧:通过向XSLT传送参数来定制输出

当用XSLT转换XML数据时,你可能想用参数来定制输出。想用VB做这件事的话,你可以用Microsoft XML Parser组件中的两个对象XSLTemplate和IXSLProcessor来实现。

XSLTemplate对象用于存储一个转换的副本。为在服务器环境下使用,该转换可以被暂时存储起来。一旦XSLTemplate读取了这个转换,你就可以用createProcessor函数创建一个IXSLProcessor。

把输入输出DOMDocuments设置为IXSLProcessor对象;然后你就可以用addParameter函数添加参数了。addParameter函数的参数是你要添加的那个参数的名称和参数值,还有命名空间是可选项。

在IXSLProcessor上调用转换函数将会执行转换过程,同时把你指定的参数传送过去。

XML

<?xml version="1.0"?>
<Employees Id="1"
xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance">
<Employee Id="1">
<Name>John Smith</Name>
</Employee>
<Employee Id="2">
<Name>John Doe</Name>
</Employee>
</Employees>
XSLT

<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="xml"/>
<xsl:param name="EmpId"/>
<xsl:template match="/">
<EmployeeName>
<xsl:apply-templates
select="//Employees/Employee[@Id=$EmpId]"/>
</EmployeeName>
</xsl:template>
<xsl:template match="Employee">
<xsl:value-of select="Name"/>
</xsl:template>
</xsl:stylesheet>
VB

Dim domSource As DOMDocument
Dim domTransform As FreeThreadedDOMDocument
Dim domOutput As DOMDocument
Dim objTemplate As XSLTemplate
Dim objProcessor As IXSLProcessor

Set domSource = New DOMDocument
Set domTransform = New FreeThreadedDOMDocument
Set domOutput = New DOMDocument
Set objTemplate = New XSLTemplate

Call domSource.Load(App.Path & "\test.xml")
Call domTransform.Load(App.Path & "\test.xsl")

Set objTemplate.stylesheet = domTransform
Set objProcessor = objTemplate.createProcessor()

objProcessor.input = domSource
objProcessor.output = domOutput
Call objProcessor.addParameter("EmpId", "1")
Call objProcessor.Transform

Call MsgBox(domOutput.xml)

在XSLT中使用参数使你可以再次使用相同的XSLT却得到不同的输出结果。通过VB实现这个功能意味着你的应用程序可以用XSLT来产生自定义的Web页,动态过滤XML文件,以及根据参数把XML转换为不同的格式。

如果您希望与本文章的作者或其所在机构,进一步交流,请联系:畅享网 姜小姐
jill.jiang@amt.com.cn | 021-51096826-112 | 在线联系
吕建伟 专栏CRM下午茶(四):销售成熟度与..

经销商现在都精细化销售了,细节化销售的CRM,对企业销售帮助不明显了,真正的CRM就该上场了。 

周宏钧的信息化之路[原创]信息化助力企业脱身金融..

从上下游整合的角度看,信息化是一种策略工具和有效手段,信息系统平台提供管控平台,加速整合过程,降低整合风险。

第二届中国管理软件与IT服务年会—2..

“第二届中国管理软件与IT服务年会”于2008年7月23日-25日举行,由AMT集团与畅享网共同主办,无锡扬名高新技术产业园特别赞助支持。

CIO职场,强者生存?

在2008年,我们将继续看到CIO向商业运营方向发展。与此同时,我们也会看到商业管理人员将与技术管理人员一起竞争CIO岗位。 IT领导者的就职机会虽有不少,但其难度将会大幅提高。2……