Hey Jen,
My brain's getting mildew, would you have a moment to look at
below code and see if anything wrong jumps out at you? I seem to
get confused with the part where I create the XSL processor and feed it..
----------------------------------------------------------------------------
---
<cfobject type="com"
action="create"
class="MSXML2.FreeThreadedDOMDocument"
name="XSLinput">
<cfset XSLinput.async = "false">
<cfset XSLinput.load("http://127.0.0.1/ddm/apTransDetail.xslt")>
<cfobject type="com"
action="create"
class="MSXML2.XSLTemplate"
name="XSLTinput">
<cfset XSLTemplate.stylesheet = "XSLinput">
<cfobject type="com"
action="create"
class="MSXML2.DOMDocument"
name="XMLinput">
<cfset XMLinput.async = "false">
<cfset XMLinput.load("http://127.0.0.1/ddm/apAgingDetail_rs.xml")>
<cfset XSLProcessor = XSLTemplate.createProcessor>
<cfoutput>
<cfset XSLProcessor.addParameter("urlVar","#url.item#")>
</cfoutput>
<cfset XSLProcessor.input = "XMLinput">
<cfset result = XSLProcessor.transformNode("XSLinput")>
<cfoutput>
#result#
</cfoutput>
----------------------------------------------------------------------------
---
-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com]On Behalf Of
Jennifer
Phillips
Sent: Friday, August 22, 2003 5:35 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] addParameter method and MSXML
Q: what class do I invoke to use the addparameter method with MSXML 4.0 ?
my code below- my question refers to the COM object named 'XSLinput', -
what
class should I use there so I can use the addParameter method widdit?
Never mind the Cf bits, code is just shown here to be thorough..
Here is a example I wrote for another lister, shouldnt be that hard to
understand, to use it for MSXML 4.0, just add .4.0 after all the class
names. Its a little different from a basic transformation without
parameters, you have to use the XSLTemplate and IXSLProcessor, but its not
that difficult.
Dim XSL
Dim XSLTemplate
Dim XSLProcessor
Dim XMLDom
' Create a DOM for the XSLT
' For some reason it must be FreeThreaded to work with XSLTemplate in MSXML3
set XSL = Server.CreateObject("MSXML2.FreeThreadedDOMDocument")
' Load in your stylesheet
XSL.Load "C:\xslt\brockTest2.xsl"
' Create the template object (Allows you to pass parameters)
set XSLTemplate = Server.CreateObject("MSXML2.XSLTemplate")
' Assign the XSLTemplate the style sheet you wish to use.
set XSLTemplate.stylesheet = xsl
set XMLDom = Server.CreateObject("MSXML2.DOMDocument")
'Load an XML
XMLDom.load("c:\xslt\test.xml")
' Create an XSL processor from the template
set XSLProcessor = XSLTemplate.createProcessor
' Add the parameter ' "DirectoryName" parameter must exist in the XSLT
XSLProcessor.addParameter "DirectoryName", server.MapPath("/") '
' Tell the XSLProcessor what the XML input is.
XSLProcessor.input = XMLDOM
' Do the transformation
XSLProcessor.transform
' Write out the result
Response.Write XSLProcessor.Output
If you have any questions let me know.
Jen
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list