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 neander <di...@hotmail.com> on 2007/11/20 12:12:59 UTC

Transformer.setParameter does not work with 2.7.0

Hi, I hope it is an easy one ...

I try to pass a parameter to a xslt-transformation by using the
setParameter-method of the javax.xml.transform.Transformer class.
In my project i enhanced the classpath with the latest xalan (2.7.0) and
xerces (2.9.0) versions.

My Testclass:

public class Test
{
  public static void main(String[] args) throws Exception
  {
    System.out.println("internal Xalan-Version: " +
com.sun.org.apache.xalan.internal.Version.getVersion());
    System.out.println("external Xalan-Version: " +
org.apache.xalan.Version.getVersion());
    System.out.println("internal Xerces-Version: " +
com.sun.org.apache.xerces.internal.impl.Version.getVersion());
    System.out.println("external Xerces-Version: " +
org.apache.xerces.impl.Version.getVersion());

    TransformerFactory transformerFactory =
TransformerFactory.newInstance();
    System.out.println("Factory: " + transformerFactory);

    URIResolver resolver = new URIResolver()
    {

      public Source resolve(String href, String base) throws
TransformerException
      {
        return new StreamSource(Test.class.getResourceAsStream("/" + href));
      }

    };
    if (resolver != null)
    {
      transformerFactory.setURIResolver(resolver);
    }
    String xsltTemplate = "Template.xslt";
    InputStream resourceAsStream =
Test.class.getResourceAsStream(xsltTemplate);
    Templates template = transformerFactory.newTemplates(new
StreamSource(resourceAsStream));
    System.out.println("Templates: " + template);

    Transformer transformer = template.newTransformer();
    transformer.setParameter("hans", "franz");
    transformer.setParameter("kurt", Boolean.TRUE);
    transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
    transformer.setOutputProperty(OutputKeys.METHOD, Method.HTML);
    System.out.println("Transformer: " + transformer);

    
    StringWriter writer = new StringWriter();
    Result outputTarget = new StreamResult(writer);
    StringReader reader = new StringReader("<?xml version=\"1.0\"
encoding=\"ISO-8859-1\"?><Kurzprofil></Kurzprofil>");
    transformer.transform(new StreamSource(reader), outputTarget);

    System.out.println(writer);
  }

}


My XSLT-File (Template.xslt): 

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html" version="1.0" encoding="ISO-8859-1"
    omit-xml-declaration="yes" standalone="yes" indent="yes" />


  <xsl:template match="/Kurzprofil">
    <xsl:param name="hans" />
    <xsl:param name="kurt" />

    <html>
      <body>
           <h1>Param Hans:<xsl:value-of select="$hans"/>"</h1>
           <h1>Param Kurt:<xsl:value-of select="$kurt"/>"</h1>
           <xsl:if test="$hans = 'franz'"><strong>Gotcha
Hans!</strong></xsl:if><br/>
           <xsl:if test="$kurt = 'true'"><strong>Gotcha
Kurt!</strong></xsl:if>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>


When i run the Test-Application I get the following output: 

internal Xalan-Version: Xalan Java 2.6.0
external Xalan-Version: Xalan Java 2.7.0
internal Xerces-Version: Xerces-J 2.6.2
external Xerces-Version: Xerces-J 2.9.0
Factory: org.apache.xalan.processor.TransformerFactoryImpl@1fdc96c
Templates: org.apache.xalan.templates.StylesheetRoot@1989f84
Transformer: org.apache.xalan.transformer.TransformerImpl@146c1d4
<html>
<body>
<h1>Param Hans:"</h1>
<h1>Param Kurt:"</h1>
<br>
</body>
</html>


Obviously I didn't get the parameter-values and because I get
org.apache.xalan.*-classes for the processing i am using the 2.7.0 Xalan
Version.
When I'm using the interal (JDK 1.5_04 provided Xalan/Xerces-Version) by
adding the following System-Property 

System.setProperty(TransformerFactory.class.getName(),
"com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl");

I get the following output:

internal Xalan-Version: Xalan Java 2.6.0
external Xalan-Version: Xalan Java 2.7.0
internal Xerces-Version: Xerces-J 2.6.2
external Xerces-Version: Xerces-J 2.9.0
Factory:
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl@15c7850
Templates: com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl@b8c8e6
Transformer:
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl@dda25b
<html>
<body>
<h1>Param Hans:franz"</h1>
<h1>Param Kurt:true"</h1>
<strong>Gotcha Hans!</strong>
<br>
<strong>Gotcha Kurt!</strong>
</body>
</html>


This means that I'm now using the JDK 1.5_04 provided Versions 2.6 of Xalan
and Xerces and that everything is working fine.

Does anybody know what the problem with the actual Xalan Version 2.7.0 is?
Did I miss something??

Best regards

Dirk 



-- 
View this message in context: http://www.nabble.com/Transformer.setParameter-does-not-work-with-2.7.0-tf4842797.html#a13854910
Sent from the Xalan - J - Users mailing list archive at Nabble.com.


Re: Transformer.setParameter does not work with 2.7.0

Posted by George Tsopouridis <gt...@gmail.com>.
hello i need a help,
i have tha same problem and i cannot pass the parameters to .xslt
transformation.

internal Xalan-Version: Xalan Java 2.6.0
external Xalan-Version: Xalan Java 2.7.0
internal Xerces-Version: Xerces-J 2.6.2
external Xerces-Version: Xerces-J 2.7.1

I am using java 1.6.0.1.

What can i do exactly;;

Thanks again


neander wrote:
> 
> Hi,
> 
> thank you :handshake:. Now it works fine with the latest version of xalan.
> The confusing thing was that it was working with the java provided
> xalan-version (e.g. with the Systemproperty set to the com.sun. ...
> package).
> 
> It was a hard and long day  ;))  .....
> 
> Dirk
> 
> 
> 
> 
> Kevin Cormier-2 wrote:
>> 
>> Hi Dirk,
>> 
>> You can only set top-level parameters through this interface.  If you
>> move 
>> your xsl:params above the xsl:template, it should work.
>> 
>> Kevin Cormier
>> Software Developer, XSLT Development
>> IBM Toronto Lab, D1-435
>> E-mail:  kcormier@ca.ibm.com
>> 
>> 
>> 
>> From:
>> neander <di...@hotmail.com>
>> To:
>> xalan-j-users@xml.apache.org
>> Date:
>> 11/20/2007 06:14 AM
>> Subject:
>> Transformer.setParameter does not work with 2.7.0
>> 
>> 
>> 
>> 
>> Hi, I hope it is an easy one ...
>> 
>> I try to pass a parameter to a xslt-transformation by using the
>> setParameter-method of the javax.xml.transform.Transformer class.
>> In my project i enhanced the classpath with the latest xalan (2.7.0) and
>> xerces (2.9.0) versions.
>> 
>> My Testclass:
>> 
>> public class Test
>> {
>>   public static void main(String[] args) throws Exception
>>   {
>>     System.out.println("internal Xalan-Version: " +
>> com.sun.org.apache.xalan.internal.Version.getVersion());
>>     System.out.println("external Xalan-Version: " +
>> org.apache.xalan.Version.getVersion());
>>     System.out.println("internal Xerces-Version: " +
>> com.sun.org.apache.xerces.internal.impl.Version.getVersion());
>>     System.out.println("external Xerces-Version: " +
>> org.apache.xerces.impl.Version.getVersion());
>> 
>>     TransformerFactory transformerFactory =
>> TransformerFactory.newInstance();
>>     System.out.println("Factory: " + transformerFactory);
>> 
>>     URIResolver resolver = new URIResolver()
>>     {
>> 
>>       public Source resolve(String href, String base) throws
>> TransformerException
>>       {
>>         return new StreamSource(Test.class.getResourceAsStream("/" + 
>> href));
>>       }
>> 
>>     };
>>     if (resolver != null)
>>     {
>>       transformerFactory.setURIResolver(resolver);
>>     }
>>     String xsltTemplate = "Template.xslt";
>>     InputStream resourceAsStream =
>> Test.class.getResourceAsStream(xsltTemplate);
>>     Templates template = transformerFactory.newTemplates(new
>> StreamSource(resourceAsStream));
>>     System.out.println("Templates: " + template);
>> 
>>     Transformer transformer = template.newTransformer();
>>     transformer.setParameter("hans", "franz");
>>     transformer.setParameter("kurt", Boolean.TRUE);
>>     transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
>>     transformer.setOutputProperty(OutputKeys.METHOD, Method.HTML);
>>     System.out.println("Transformer: " + transformer);
>> 
>>  
>>     StringWriter writer = new StringWriter();
>>     Result outputTarget = new StreamResult(writer);
>>     StringReader reader = new StringReader("<?xml version=\"1.0\"
>> encoding=\"ISO-8859-1\"?><Kurzprofil></Kurzprofil>");
>>     transformer.transform(new StreamSource(reader), outputTarget);
>> 
>>     System.out.println(writer);
>>   }
>> 
>> }
>> 
>> 
>> My XSLT-File (Template.xslt): 
>> 
>> <?xml version="1.0" encoding="ISO-8859-1"?>
>> <xsl:stylesheet version="2.0"
>>   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>>   <xsl:output method="html" version="1.0" encoding="ISO-8859-1"
>>     omit-xml-declaration="yes" standalone="yes" indent="yes" />
>> 
>> 
>>   <xsl:template match="/Kurzprofil">
>>     <xsl:param name="hans" />
>>     <xsl:param name="kurt" />
>> 
>>     <html>
>>       <body>
>>            <h1>Param Hans:<xsl:value-of select="$hans"/>"</h1>
>>            <h1>Param Kurt:<xsl:value-of select="$kurt"/>"</h1>
>>            <xsl:if test="$hans = 'franz'"><strong>Gotcha
>> Hans!</strong></xsl:if><br/>
>>            <xsl:if test="$kurt = 'true'"><strong>Gotcha
>> Kurt!</strong></xsl:if>
>>       </body>
>>     </html>
>>   </xsl:template>
>> </xsl:stylesheet>
>> 
>> 
>> When i run the Test-Application I get the following output: 
>> 
>> internal Xalan-Version: Xalan Java 2.6.0
>> external Xalan-Version: Xalan Java 2.7.0
>> internal Xerces-Version: Xerces-J 2.6.2
>> external Xerces-Version: Xerces-J 2.9.0
>> Factory: org.apache.xalan.processor.TransformerFactoryImpl@1fdc96c
>> Templates: org.apache.xalan.templates.StylesheetRoot@1989f84
>> Transformer: org.apache.xalan.transformer.TransformerImpl@146c1d4
>> <html>
>> <body>
>> <h1>Param Hans:"</h1>
>> <h1>Param Kurt:"</h1>
>> <br>
>> </body>
>> </html>
>> 
>> 
>> Obviously I didn't get the parameter-values and because I get
>> org.apache.xalan.*-classes for the processing i am using the 2.7.0 Xalan
>> Version.
>> When I'm using the interal (JDK 1.5_04 provided Xalan/Xerces-Version) by
>> adding the following System-Property 
>> 
>> System.setProperty(TransformerFactory.class.getName(),
>> "com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl");
>> 
>> I get the following output:
>> 
>> internal Xalan-Version: Xalan Java 2.6.0
>> external Xalan-Version: Xalan Java 2.7.0
>> internal Xerces-Version: Xerces-J 2.6.2
>> external Xerces-Version: Xerces-J 2.9.0
>> Factory:
>> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl@15c7850
>> Templates: 
>> com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl@b8c8e6
>> Transformer:
>> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl@dda25b
>> <html>
>> <body>
>> <h1>Param Hans:franz"</h1>
>> <h1>Param Kurt:true"</h1>
>> <strong>Gotcha Hans!</strong>
>> <br>
>> <strong>Gotcha Kurt!</strong>
>> </body>
>> </html>
>> 
>> 
>> This means that I'm now using the JDK 1.5_04 provided Versions 2.6 of 
>> Xalan
>> and Xerces and that everything is working fine.
>> 
>> Does anybody know what the problem with the actual Xalan Version 2.7.0
>> is?
>> Did I miss something??
>> 
>> Best regards
>> 
>> Dirk 
>> 
>> 
>> 
>> -- 
>> View this message in context: 
>> http://www.nabble.com/Transformer.setParameter-does-not-work-with-2.7.0-tf4842797.html#a13854910
>> 
>> Sent from the Xalan - J - Users mailing list archive at Nabble.com.
>> 
>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Transformer.setParameter-does-not-work-with-2.7.0-tp13854910p20226439.html
Sent from the Xalan - J - Users mailing list archive at Nabble.com.


Re: Transformer.setParameter does not work with 2.7.0

Posted by neander <di...@hotmail.com>.
Hi,

thank you :handshake:. Now it works fine with the latest version of xalan.
The confusing thing was that it was working with the java provided
xalan-version (e.g. with the Systemproperty set to the com.sun. ...
package).

It was a hard and long day  ;))  .....

Dirk




Kevin Cormier-2 wrote:
> 
> Hi Dirk,
> 
> You can only set top-level parameters through this interface.  If you move 
> your xsl:params above the xsl:template, it should work.
> 
> Kevin Cormier
> Software Developer, XSLT Development
> IBM Toronto Lab, D1-435
> E-mail:  kcormier@ca.ibm.com
> 
> 
> 
> From:
> neander <di...@hotmail.com>
> To:
> xalan-j-users@xml.apache.org
> Date:
> 11/20/2007 06:14 AM
> Subject:
> Transformer.setParameter does not work with 2.7.0
> 
> 
> 
> 
> Hi, I hope it is an easy one ...
> 
> I try to pass a parameter to a xslt-transformation by using the
> setParameter-method of the javax.xml.transform.Transformer class.
> In my project i enhanced the classpath with the latest xalan (2.7.0) and
> xerces (2.9.0) versions.
> 
> My Testclass:
> 
> public class Test
> {
>   public static void main(String[] args) throws Exception
>   {
>     System.out.println("internal Xalan-Version: " +
> com.sun.org.apache.xalan.internal.Version.getVersion());
>     System.out.println("external Xalan-Version: " +
> org.apache.xalan.Version.getVersion());
>     System.out.println("internal Xerces-Version: " +
> com.sun.org.apache.xerces.internal.impl.Version.getVersion());
>     System.out.println("external Xerces-Version: " +
> org.apache.xerces.impl.Version.getVersion());
> 
>     TransformerFactory transformerFactory =
> TransformerFactory.newInstance();
>     System.out.println("Factory: " + transformerFactory);
> 
>     URIResolver resolver = new URIResolver()
>     {
> 
>       public Source resolve(String href, String base) throws
> TransformerException
>       {
>         return new StreamSource(Test.class.getResourceAsStream("/" + 
> href));
>       }
> 
>     };
>     if (resolver != null)
>     {
>       transformerFactory.setURIResolver(resolver);
>     }
>     String xsltTemplate = "Template.xslt";
>     InputStream resourceAsStream =
> Test.class.getResourceAsStream(xsltTemplate);
>     Templates template = transformerFactory.newTemplates(new
> StreamSource(resourceAsStream));
>     System.out.println("Templates: " + template);
> 
>     Transformer transformer = template.newTransformer();
>     transformer.setParameter("hans", "franz");
>     transformer.setParameter("kurt", Boolean.TRUE);
>     transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
>     transformer.setOutputProperty(OutputKeys.METHOD, Method.HTML);
>     System.out.println("Transformer: " + transformer);
> 
>  
>     StringWriter writer = new StringWriter();
>     Result outputTarget = new StreamResult(writer);
>     StringReader reader = new StringReader("<?xml version=\"1.0\"
> encoding=\"ISO-8859-1\"?><Kurzprofil></Kurzprofil>");
>     transformer.transform(new StreamSource(reader), outputTarget);
> 
>     System.out.println(writer);
>   }
> 
> }
> 
> 
> My XSLT-File (Template.xslt): 
> 
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <xsl:stylesheet version="2.0"
>   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>   <xsl:output method="html" version="1.0" encoding="ISO-8859-1"
>     omit-xml-declaration="yes" standalone="yes" indent="yes" />
> 
> 
>   <xsl:template match="/Kurzprofil">
>     <xsl:param name="hans" />
>     <xsl:param name="kurt" />
> 
>     <html>
>       <body>
>            <h1>Param Hans:<xsl:value-of select="$hans"/>"</h1>
>            <h1>Param Kurt:<xsl:value-of select="$kurt"/>"</h1>
>            <xsl:if test="$hans = 'franz'"><strong>Gotcha
> Hans!</strong></xsl:if><br/>
>            <xsl:if test="$kurt = 'true'"><strong>Gotcha
> Kurt!</strong></xsl:if>
>       </body>
>     </html>
>   </xsl:template>
> </xsl:stylesheet>
> 
> 
> When i run the Test-Application I get the following output: 
> 
> internal Xalan-Version: Xalan Java 2.6.0
> external Xalan-Version: Xalan Java 2.7.0
> internal Xerces-Version: Xerces-J 2.6.2
> external Xerces-Version: Xerces-J 2.9.0
> Factory: org.apache.xalan.processor.TransformerFactoryImpl@1fdc96c
> Templates: org.apache.xalan.templates.StylesheetRoot@1989f84
> Transformer: org.apache.xalan.transformer.TransformerImpl@146c1d4
> <html>
> <body>
> <h1>Param Hans:"</h1>
> <h1>Param Kurt:"</h1>
> <br>
> </body>
> </html>
> 
> 
> Obviously I didn't get the parameter-values and because I get
> org.apache.xalan.*-classes for the processing i am using the 2.7.0 Xalan
> Version.
> When I'm using the interal (JDK 1.5_04 provided Xalan/Xerces-Version) by
> adding the following System-Property 
> 
> System.setProperty(TransformerFactory.class.getName(),
> "com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl");
> 
> I get the following output:
> 
> internal Xalan-Version: Xalan Java 2.6.0
> external Xalan-Version: Xalan Java 2.7.0
> internal Xerces-Version: Xerces-J 2.6.2
> external Xerces-Version: Xerces-J 2.9.0
> Factory:
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl@15c7850
> Templates: 
> com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl@b8c8e6
> Transformer:
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl@dda25b
> <html>
> <body>
> <h1>Param Hans:franz"</h1>
> <h1>Param Kurt:true"</h1>
> <strong>Gotcha Hans!</strong>
> <br>
> <strong>Gotcha Kurt!</strong>
> </body>
> </html>
> 
> 
> This means that I'm now using the JDK 1.5_04 provided Versions 2.6 of 
> Xalan
> and Xerces and that everything is working fine.
> 
> Does anybody know what the problem with the actual Xalan Version 2.7.0 is?
> Did I miss something??
> 
> Best regards
> 
> Dirk 
> 
> 
> 
> -- 
> View this message in context: 
> http://www.nabble.com/Transformer.setParameter-does-not-work-with-2.7.0-tf4842797.html#a13854910
> 
> Sent from the Xalan - J - Users mailing list archive at Nabble.com.
> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Transformer.setParameter-does-not-work-with-2.7.0-tf4842797.html#a13857689
Sent from the Xalan - J - Users mailing list archive at Nabble.com.


Re: Transformer.setParameter does not work with 2.7.0

Posted by Kevin Cormier <kc...@ca.ibm.com>.
Hi Dirk,

You can only set top-level parameters through this interface.  If you move 
your xsl:params above the xsl:template, it should work.

Kevin Cormier
Software Developer, XSLT Development
IBM Toronto Lab, D1-435
E-mail:  kcormier@ca.ibm.com



From:
neander <di...@hotmail.com>
To:
xalan-j-users@xml.apache.org
Date:
11/20/2007 06:14 AM
Subject:
Transformer.setParameter does not work with 2.7.0




Hi, I hope it is an easy one ...

I try to pass a parameter to a xslt-transformation by using the
setParameter-method of the javax.xml.transform.Transformer class.
In my project i enhanced the classpath with the latest xalan (2.7.0) and
xerces (2.9.0) versions.

My Testclass:

public class Test
{
  public static void main(String[] args) throws Exception
  {
    System.out.println("internal Xalan-Version: " +
com.sun.org.apache.xalan.internal.Version.getVersion());
    System.out.println("external Xalan-Version: " +
org.apache.xalan.Version.getVersion());
    System.out.println("internal Xerces-Version: " +
com.sun.org.apache.xerces.internal.impl.Version.getVersion());
    System.out.println("external Xerces-Version: " +
org.apache.xerces.impl.Version.getVersion());

    TransformerFactory transformerFactory =
TransformerFactory.newInstance();
    System.out.println("Factory: " + transformerFactory);

    URIResolver resolver = new URIResolver()
    {

      public Source resolve(String href, String base) throws
TransformerException
      {
        return new StreamSource(Test.class.getResourceAsStream("/" + 
href));
      }

    };
    if (resolver != null)
    {
      transformerFactory.setURIResolver(resolver);
    }
    String xsltTemplate = "Template.xslt";
    InputStream resourceAsStream =
Test.class.getResourceAsStream(xsltTemplate);
    Templates template = transformerFactory.newTemplates(new
StreamSource(resourceAsStream));
    System.out.println("Templates: " + template);

    Transformer transformer = template.newTransformer();
    transformer.setParameter("hans", "franz");
    transformer.setParameter("kurt", Boolean.TRUE);
    transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
    transformer.setOutputProperty(OutputKeys.METHOD, Method.HTML);
    System.out.println("Transformer: " + transformer);

 
    StringWriter writer = new StringWriter();
    Result outputTarget = new StreamResult(writer);
    StringReader reader = new StringReader("<?xml version=\"1.0\"
encoding=\"ISO-8859-1\"?><Kurzprofil></Kurzprofil>");
    transformer.transform(new StreamSource(reader), outputTarget);

    System.out.println(writer);
  }

}


My XSLT-File (Template.xslt): 

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html" version="1.0" encoding="ISO-8859-1"
    omit-xml-declaration="yes" standalone="yes" indent="yes" />


  <xsl:template match="/Kurzprofil">
    <xsl:param name="hans" />
    <xsl:param name="kurt" />

    <html>
      <body>
           <h1>Param Hans:<xsl:value-of select="$hans"/>"</h1>
           <h1>Param Kurt:<xsl:value-of select="$kurt"/>"</h1>
           <xsl:if test="$hans = 'franz'"><strong>Gotcha
Hans!</strong></xsl:if><br/>
           <xsl:if test="$kurt = 'true'"><strong>Gotcha
Kurt!</strong></xsl:if>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>


When i run the Test-Application I get the following output: 

internal Xalan-Version: Xalan Java 2.6.0
external Xalan-Version: Xalan Java 2.7.0
internal Xerces-Version: Xerces-J 2.6.2
external Xerces-Version: Xerces-J 2.9.0
Factory: org.apache.xalan.processor.TransformerFactoryImpl@1fdc96c
Templates: org.apache.xalan.templates.StylesheetRoot@1989f84
Transformer: org.apache.xalan.transformer.TransformerImpl@146c1d4
<html>
<body>
<h1>Param Hans:"</h1>
<h1>Param Kurt:"</h1>
<br>
</body>
</html>


Obviously I didn't get the parameter-values and because I get
org.apache.xalan.*-classes for the processing i am using the 2.7.0 Xalan
Version.
When I'm using the interal (JDK 1.5_04 provided Xalan/Xerces-Version) by
adding the following System-Property 

System.setProperty(TransformerFactory.class.getName(),
"com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl");

I get the following output:

internal Xalan-Version: Xalan Java 2.6.0
external Xalan-Version: Xalan Java 2.7.0
internal Xerces-Version: Xerces-J 2.6.2
external Xerces-Version: Xerces-J 2.9.0
Factory:
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl@15c7850
Templates: 
com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl@b8c8e6
Transformer:
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl@dda25b
<html>
<body>
<h1>Param Hans:franz"</h1>
<h1>Param Kurt:true"</h1>
<strong>Gotcha Hans!</strong>
<br>
<strong>Gotcha Kurt!</strong>
</body>
</html>


This means that I'm now using the JDK 1.5_04 provided Versions 2.6 of 
Xalan
and Xerces and that everything is working fine.

Does anybody know what the problem with the actual Xalan Version 2.7.0 is?
Did I miss something??

Best regards

Dirk 



-- 
View this message in context: 
http://www.nabble.com/Transformer.setParameter-does-not-work-with-2.7.0-tf4842797.html#a13854910

Sent from the Xalan - J - Users mailing list archive at Nabble.com.