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

[xsl] passing values from JavaScript to XSL using MSXML3


Subject: [xsl] passing values from JavaScript to XSL using MSXML3
From: "Sergey Demidenko" <sergeyd@xxxxxxx>
Date: Sun, 20 Jul 2003 03:00:10 -0400

I need to pass a value from JavaScript code to <xsl:param name="sortBy"
select="'date'" /> in XSL code.
How would I accomplish this?

I read this bit, and wasn't exactly clear on the whole JavaScript part.

> > I want to use this value as a filter for another bit of xsl:
> >
> > <xsl:for-each select="mabinogion/tale[talename=' ->x goes here<- ']">
> >         <xsl:for-each select="manuscript">
> >                 <xsl:value-of select="manuscriptname"/>
> >                 <br/>
> >         </xsl:for-each>
> > </xsl:for-each>
>
> OK. The x is declared in the Javascript within your page, and you want
> it to be used within a stylesheet that you're using from that
> Javascript. The standard way of making that happen is to pass the
> value of x in as a parameter to the stylesheet. You need to declare
> the parameter at the top level of the stylesheet:
>
> <xsl:param name="x" select="'default'" />
>
> and then use it in the select expression as above:
>
>   <xsl:for-each select="mabinogion/tale[talename = $x]">
>      ...
>   </xsl:for-each>
>
> How you pass in the value depends on the XSLT processor.  I guess that
> you're using MSXML3, so you want something along the lines of:
>
>    var x = tales.tales.value;
>    ...
>    XSLTProcessor.addParameter('x', x);
>    XSLTProcessor.transform();
>    list.innerHTML = XSLTProcess.output;
>
> Note that the stylesheet here is run on an entire source XML, and
> everything that it produces is put within the innerHTML of the list,
> so you want it to only produce whatever you want within the list.


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



Current Thread
Keywords