RE: [xsl] XML as a string param

Subject: RE: [xsl] XML as a string param
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 5 Oct 2004 13:16:00 +0100
At some stage the XML string has to be parsed to turn it into a tree. I
would normally recommend doing this outside the stylesheet, which you can do
in Saxon for example by calling the method
StaticQueryContext.buildDocument(). (There are other ways, that give more
control, but that one's the simplest). The resulting document node can then
be passed in using the Transformer.setParameter() method.

An alternative is to pass a raw string as the parameter, and then parse it
from within the stylesheet using the saxon:parse() extension function.

Michael Kay
http://www.saxonica.com/
 

> -----Original Message-----
> From: David Sinclair [mailto:dsinclair@xxxxxxxxxxxx] 
> Sent: 05 October 2004 11:37
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] XML as a string param
> 
> Hi,
> 
> Is it possible to pass XML as a string param into a 
> stylesheet and then 
> use xpath expressions on it?
> 
> What I am trying to do is to pass in the parameters from a 
> ServletRequest (serialized as XML) into my XSL like this:
> 
> <xsl:param name="requestParams"/>
> 
> And then later on using it to fill in values with something like:
> 
> <xsl:value-of select="$requestParams/map/entry[key = 
> 'param1']/value[0]" />
> 
> The xml string for the params looks like this:
> <map>
>     <entry>
>           <key>param1</key>
>           <value>val1</value>
>           <value>val2</value>
>     </entry>
>     ...
> </map>
> 
> BTW, I am using XSLT 2.0.
> 
> David Sinclair.

Current Thread