xsl-list
[Top] [All Lists]

RE: addParameter method and MSXML

2003-08-27 08:01:01
Hello All,

  Just nailed it yesterday, thanks for all the input.
Got the addparameter method working with an url variable,
Cold Fusion 5.0, msxml (3.0), win2k server..

chao- Flashlight

-----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 
Américo
Albuquerque
Sent: Tuesday, August 26, 2003 5:54 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] addParameter method and MSXML


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(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
Bruce Rojas-Rennke
Sent: Tuesday, August 26, 2003 4:16 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com]On Behalf Of
Américo Albuquerque
Sent: Monday, August 25, 2003 6:33 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf 
Of Bruce
Rojas-Rennke
Sent: Tuesday, August 26, 2003 12:54 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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(_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




 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



<Prev in Thread] Current Thread [Next in Thread>