[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] addParameter method and MSXML


Subject: RE: [xsl] addParameter method and MSXML
From: Américo Albuquerque <melinor@xxxxxxx>
Date: Wed, 27 Aug 2003 00:54:17 +0100

Hi

You can download the msxml4 from microsoft
(http://www.microsoft.com/downloads/details.aspx?FamilyID=3144b72b-b4f2-46da
-b4b6-c5d7485f2b42&DisplayLang=en). This download also has the sdk where you
can find examples o how to create the processor, add parameters, etc.

The syntax isn't diferent for msxml3, so you can use msxml4 sdk with msxml3

Regards,
Americo Albuquerque

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx 
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of 
> Bruce Rojas-Rennke
> Sent: Tuesday, August 26, 2003 4:16 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: [xsl] addParameter method and MSXML
> 
> 
> Hello Americo & Jen,
> 
>   reading your comments, I modified my code as below, I think 
> I'm getting closer, like I said I think the wierd part for us 
> newbies is understanding this create processor part, I 
> understood creating XMLinput & XSLinput objects, but the 
> processor part seems like a 3rd step that doesn't quite mesh (to me).
> 
>   hows this look?
> --------------------------------------------------------------
> ----------
> <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.FreeThreadedDOMDocument"
>            name="XMLinput">
>    <cfset XMLinput.async = "false">
>    <cfset XMLinput.load("http://127.0.0.1/ddm/apAgingDetail_rs.xml")>
> 
>  <cfset XSLProcessor = XSLinput.createProcessor>
>  <cfoutput>
>    <cfset XSLProcessor.addParameter("urlVar","#url.item#")>
>  </cfoutput>
>  <cfset XSLProcessor.input = "XMLinput">
> 
>  <cfset result = XSLProcessor.transform(XSLinput)>
> 
>    <cfoutput>
>      #result#
>    </cfoutput>
> 
> --------------------------------------------------------------
> ----------
> gracias nuevas, - Flashlight
> 
> 
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of 
> Américo Albuquerque
> Sent: Monday, August 25, 2003 6:33 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: [xsl] addParameter method and MSXML
> 
> 
> Hi.
> 
> I don't know this cfobject language but it seams to me that 
> the problem is a name one. I'll try to explain what I mean 
> using the name of your objects
> 
> You create a XSLinput object ans load a xslt file, this 
> object is a FreeThreadedDOMDocument
> 
> You create a XSLTinput ans set is stylesheet to XSLinput, 
> this object is a XSLTemplate
> 
> You create a XMLinput and load a xml document, this is a 
> DOMDocument object
> 
> You create a XSLProcessor from a XSLTemplate. Is this an 
> object? If so where is it created? If no, where do you relate 
> this object to XSLTinput? Is here where your code fail. Check 
> your syntax and see where you'll have to change and what you 
> need to change. You might need to add the relationsheep 
> between XSLProcessor and XSLTinput just change the creation 
> process to something like <cfset XSLProcessor = 
> XSLTinput.createProcessor>
> 
> Hope this helps
> 
> Regards,
> Americo Albuquerque
> 
> 
> > -----Original Message-----
> > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Bruce 
> > Rojas-Rennke
> > Sent: Tuesday, August 26, 2003 12:54 AM
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Subject: RE: [xsl] addParameter method and MSXML
> >
> >
> > 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@xxxxxxxxxxxxxxxxxxxxxx
> > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Jennifer 
> > Phillips
> > Sent: Friday, August 22, 2003 5:35 AM
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > 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
> >
> >
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 
> 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



Current Thread
Keywords