You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xalan.apache.org by Ji...@mortgage.wellsFargo.COM on 2002/08/06 17:28:36 UTC
Passing arguments into a stylesheet programmatically...
Hello,
I am using a servlet to pass an XML document through multiple XSL
transforms. I am using the chaining method that is described in the
Pipes.java example.
I would like to pass servlet request parameters into the style sheet as
style sheet parameters. I am getting the Transformer from the
TransformerHandler and setting the parameters on that. Unfortunately, the
parameters are not getting passed into the style sheet.
Should this work?
Here is the code:
if (i.hasNext()) {
xslName = (String) i.next();
log4jCategory.debug("xsl name: "+xslName);
th =
((SAXTransformerFactory)transformerFactory).newTransformerHandler(XSLManager
.getInstance().getXSLTransformer(xslName));
firstOne = th;
while (i.hasNext()) {
xslName = (String) i.next();
log4jCategory.debug("xsl name: "+xslName);
th2 =
((SAXTransformerFactory)transformerFactory).newTransformerHandler(XSLManager
.getInstance().getXSLTransformer(xslName));
th.setResult(new SAXResult(th2));
parameterIterator = parameterList.iterator();
// pass the "xsl-paramN" parameters into each
transformation...
while (parameterIterator.hasNext()) {
parameter = (String)parameterIterator.next();
th.getTransformer().setParameter(parameter,
request.getParameter(parameter));
}
th = th2;
}
}
Serializer serializer = SerializerFactory.getSerializer
(OutputProperties.getDefaultMethodProperties("xml"));
serializer.setOutputStream(response.getOutputStream());
th.setResult(new SAXResult(serializer.asContentHandler()));
doTransform(firstOne, request);
Cheers,
Jim.
James J. Majure
Systems Architect
Wells Fargo Services Company
515.213.4870
RE: Passing arguments into a stylesheet programmatically...
Posted by Gary L Peskin <ga...@firstech.com>.
Are you receiving these parameters into your stylesheet using an
xsl:param element at the top level?
Gary
-----Original Message-----
From: Jim.Majure@mortgage.wellsFargo.COM
[mailto:Jim.Majure@mortgage.wellsFargo.COM]
Sent: Tuesday, August 06, 2002 8:29 AM
To: xalan-j-users@xml.apache.org
Subject: Passing arguments into a stylesheet programmatically...
Hello,
I am using a servlet to pass an XML document through multiple XSL
transforms. I am using the chaining method that is described in the
Pipes.java example.
I would like to pass servlet request parameters into the style sheet as
style sheet parameters. I am getting the Transformer from the
TransformerHandler and setting the parameters on that. Unfortunately,
the parameters are not getting passed into the style sheet.
Should this work?
Here is the code:
if (i.hasNext()) {
xslName = (String) i.next();
log4jCategory.debug("xsl name: "+xslName);
th =
((SAXTransformerFactory)transformerFactory).newTransformerHandler(XSLMan
ager.getInstance().getXSLTransformer(xslName));
firstOne = th;
while (i.hasNext()) {
xslName = (String) i.next();
log4jCategory.debug("xsl name: "+xslName);
th2 =
((SAXTransformerFactory)transformerFactory).newTransformerHandler(XSLMan
ager.getInstance().getXSLTransformer(xslName));
th.setResult(new SAXResult(th2));
parameterIterator = parameterList.iterator();
// pass the "xsl-paramN" parameters into each
transformation...
while (parameterIterator.hasNext()) {
parameter = (String)parameterIterator.next();
th.getTransformer().setParameter(parameter,
request.getParameter(parameter));
}
th = th2;
}
}
Serializer serializer = SerializerFactory.getSerializer
(OutputProperties.getDefaultMethodProperties("xml"));
serializer.setOutputStream(response.getOutputStream());
th.setResult(new SAXResult(serializer.asContentHandler()));
doTransform(firstOne, request);
Cheers,
Jim.
James J. Majure
Systems Architect
Wells Fargo Services Company
515.213.4870