RE: [xsl] passing a string as a node list

Subject: RE: [xsl] passing a string as a node list
From: "Tim" <xsl@xxxxxxxxxxxxxx>
Date: 21 Jun 2001 20:04:58 -0000
I've moved to Xalan 2.1.0 and something strainge has happened....

I set the parameter in a servlet (as before) with 

transformer.setParameter( "keywords", keywords );

and (as before) I check the value in the style sheet by doing

keywords = <xsl:value-of select="$keywords"/>

but with the new version, the value-of returns nothing.  I've tried it 
with other style sheets that have not been touched and were working, 
none of the parameters are being seen by the xsl.  All sytle sheets 
that use parameters are broken!

Does Xalan 2.1.0 have a different way of seeing variables than version 
2.0.0, or is this a feature?

Thanks, Tim.


> Hi,
> 
> I know it works with Xalan-J 2_0_1 and I am using it successfully. 
Here is a
> snippet of XSL code you may need to implement it.
> 
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
> 			      xmlns:xalan="http://xml.apache.org/xalan";
> exclude-result-prefixes="xalan">
>   <xsl:template name="paramproc">
>     <xsl:param name="evalparam"/>
>   <!-- change context node -->
>       <xsl:for-each select="$chandoc">
> 	'<xsl:value-of select="normalize-space(xalan:evaluate
($evalparam))"
> />'
>       </xsl:for-each>
>   </xsl:template>
> 
> </xsl:stylesheet>
> 
> Saxon also has the same extension function called evaluate which in 
fact was
> implemented earlier. Depends which processor you choose to use. Hope 
this
> helps.
> 
> Maulik Modi
> mmodi@xxxxxxxxxx
> 
> 
> -----Original Message-----
> From: Tim [mailto:xsl@xxxxxxxxxxxxxx]
> Sent: Thursday, June 21, 2001 11:35 AM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re: [xsl] passing a string as a node list
> 
> 
> Ta, Tom.
> 
> I've found mention of the xalan:evaluate() extention a few times but 
> the xml.apache.org says it's not implemented yet.  Anyone know if 
it's 
> been done in the CVS?
> 
> Thanks, Tim.
> 
> > Standard xslt does not let you convert a result-tree-fragment (or a 
> string)
> > into a node-set.  Some processors (like SAXON) have an extension 
> function
> > that does let you do it.  Xalan (which I think you meant instead of 
> Xerces)
> > also has one (I think, someone else would know for sure).  How you 
> invoke
> > the extension function is different from one processor to another, 
so 
> you
> > have to read Mike Kay's book, the docs for your processor, or 
search 
> in the
> > FAQs.  Actually, I'm not sure if you could convert a string anyway, 
> but you
> > can probably change your stylesheet to make it work.
> > 
> > Cheers,
> > 
> > Tom P
> > 
> > [Tim]
> > 
> > > If I use the $keywords variable directly, Xerces throws the 
> exception
> > > saying "Can not convert #STRING to a NodeList" so I've been trying
> > > various methods of turning the string into the node 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