[
http://issues.apache.org/jira/browse/XALANJ-2067?page=comments#action_62236 ]
Brian Minchau commented on XALANJ-2067:
---------------------------------------
Via JAXP the parameter is set before the transformation in invoked:
transformer.setParameter("data", doc);
In the stylesheet is:
<xsl:param name="data" select="/.."/>
The value in the select looks a bit strange, but in any case the "data"
parameter should be set in the Java code via JAXP, over-riding the xsl:param in
the stylesheet.
It looks like that JAXP parameter setting should persist from one transform to
the next.
This looks like legitimate bug.
> Multiple executions of transformation having DOM Document as parameter is not
> working
> -------------------------------------------------------------------------------------
>
> Key: XALANJ-2067
> URL: http://issues.apache.org/jira/browse/XALANJ-2067
> Project: XalanJ2
> Type: Bug
> Components: Xalan
> Versions: 2.6
> Environment: Windows XP - jdk 1.4.1
> Reporter: Alain Grandjean
>
> Create a Transformer, set a DOM Document as parameter to the Transformer and
> apply 2 times the Transformer. The second time, the parameter is no longer
> containing the DOM Document.
> Sample class Test.java:
> package testxalan;
> import java.io.FileInputStream;
> import java.io.FileOutputStream;
> import java.io.StringReader;
> import javax.xml.transform.TransformerFactory;
> import javax.xml.transform.Transformer;
> import javax.xml.transform.Source;
> import javax.xml.transform.dom.DOMSource;
> import javax.xml.transform.stream.StreamResult;
> import javax.xml.transform.stream.StreamSource;
> import javax.xml.parsers.DocumentBuilderFactory;
> import javax.xml.parsers.DocumentBuilder;
> import org.w3c.dom.Document;
> import org.w3c.dom.Element;
> public class Test {
> static Transformer newTransormer(String name) throws Exception
> {
> TransformerFactory factory = TransformerFactory.newInstance();
> return factory.newTransformer(new StreamSource(new
> FileInputStream(name)));
> }
> static Document newDocument() throws Exception
> {
> DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
> factory.setNamespaceAware(true);
> factory.setValidating(false);
> Document doc = factory.newDocumentBuilder().newDocument();
> return doc;
> }
> public static void main(String[] args) {
> try {
> Transformer transformer = newTransormer("hello.xsl");
> Document doc = newDocument();
> Element root = doc.createElement("root");
> root.appendChild(doc.createTextNode("Hello World"));
> doc.appendChild(root);
> transformer.setParameter("data", doc);
> transformer.transform(new StreamSource(new StringReader("<node/>")),
> new StreamResult(new FileOutputStream("sample1.txt")));
> transformer.transform(new StreamSource(new StringReader("<node/>")),
> new StreamResult(new FileOutputStream("sample2.txt")));
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
> }
> with Sample hello.xsl:
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> <xsl:param name="data" select="/.."/>
> <xsl:template match="node">
> <xsl:value-of select="$data/root"/>
> </xsl:template>
> </xsl:stylesheet>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]