Subject: RE: XSL doesn't received/recognized parameters send from servlet
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Fri, 8 Feb 2002 11:57:47 -0000
|
What XSLT processor are you using?
And what is XString?
The mapping from Java objects to XPath data types in setParameter() is not
defined by JAXP 1.1, and varies a little from one product to another.
Supplying a String as the parameter value should be OK.
Displaying the actual values of the parameters within the output file might
be helpful.
Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of
> Rosely Kumoi
> Sent: 08 February 2002 03:31
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: XSL doesn't received/recognized parameters send from
> servlet
>
>
> Servlet code: <using the TRAX library>
> String ttl = request.getParameter("ttl");
> String lang = request.getParameter("lang");
> response.setContentType("text/html");
>
> try
> {
> TransformerFactory tFactory =
> TransformerFactory.newInstance();
> Transformer transformer = tFactory.newTransformer(new
> StreamSource("glossary.xsl"));
>
> // Set the stylesheet parameter
> transformer.setParameter("ttl", new XString(ttl));
> transformer.setParameter("lang", new XString(lang));
>
> // Perform the transformation.
> transformer.transform(new StreamSource("glossary.xml"), new
> StreamResult(out));
> }
> catch (Exception ex)
> {
> System.out.println(ex);
> }
>
> End of Servlet code.
>
> XSL code:
>
> <?xml version='1.0'?>
>
> <xsl:transform
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.0">
>
> <xsl:template name="print-glossary">
> <HTML>
> <BODY>
>
> <xsl:param name="ttl"/>
> <xsl:param name="lang"/>
> <xsl:for-each select="glossary/term[@title=$ttl]">
> <FONT COLOR="RED">
> <xsl:for-each select="content[@language=$lang]">
> <P><xsl:value-of select="."/> </P>
> </xsl:for-each>
> </FONT>
> </xsl:for-each>
> </BODY>
> </HTML>
> </xsl:template>
>
> <xsl:template match="/">
> <xsl:call-template name="print-glossary">
> <xsl:with-param name="ttl">default value</xsl:with-param>
> <xsl:with-param name="lang">default value</xsl:with-param>
> </xsl:call-template>
> </xsl:template>
>
> </xsl:transform>
>
> End of XSL code.
>
> I also have tried using this code for the parameter passing:
> transformer.setParameter("ttl", "'" + ttl + "'");
> also doesn't work, any help or workaround - I thanx in advanced
>
> rosely kumoi
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|