[ 
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]

Reply via email to