xsl-list
[Top] [All Lists]

Problem in calling external java function

2004-09-20 03:54:21
Hi,
   The following is the xslt code calling a java class:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";  xmlns:test="C://tester"
exclude-result-prefixes="test">
        <xsl:template match="/">
                <xsl:apply-templates/>
        </xsl:template>
        <xsl:template match="b">
                <xsl:variable name="test1"
select="test:xyz.new('A;B;C',';')"/>
                <abc>
                        <xsl:value-of select="test:getNextToken($test1)"/>
                </abc>
        </xsl:template>
</xsl:stylesheet>


The following is the code for the class being called:

import java.util.StringTokenizer;

public class xyz {

  private StringTokenizer tokenizer;

  public CreateMultipleTargetInstance( String specimen, String token ) {
    tokenizer = new StringTokenizer ( specimen, token );
  }

  public String getNextToken() {
    if ( tokenizer.hasMoreTokens() ) {
      return tokenizer.nextToken();
    }
    else {
      return "";
    }
  }
}

When i call this class using the above xslt Through command prompt using the
following command:

java org.apache.xalan.xslt.Process -in test.xml -xsl test.xsl -out out.xml

i get the following error:

file:/C:abc.xsl;
 Line #9; Column #-1; XSLT Error (javax.xml.transform.TransformerException):
java.lang.NoSuchMethodException: For extension function, could not find
constructor
 tester.CreateMultipleTargetInstance([ExpressionContext,] #STRING, #STRING).


The xslt is supposed to return me the first string before ";" i.e A.

...........ANYONE?

Regards
Manpreet


<Prev in Thread] Current Thread [Next in Thread>