Subjects
Home
Xalan extension functions
Fomatting question serializing DOM with pretty print
xalan with pull parser
Cannot find the declaration
Apache Xalan drop support to run on JRE 1 1 x
Why does Doctype change processing of a document
Node set to XML string via Java extensions in Xalan J: possible?
Templates/Transformers + thread safety???
Problem evaluating xpath with muliple prefix with different namespace
remove an arbitrary attribute from xsl output
Xalan3 XSLT 2 0 XPath 2 0 support?
Problem using compiled translets with Xalan !!
Xalan and jstl 1 1 problem with transform tag
NullPointer in DOM2DTM getLocalName
URIResolvers base parameter with xsltc and cascaded imports
Performance problem for Xalan J on intel dual core
Standard libraries in JAXP?
Serializing a DOM tree to XML file, customize entities replacement
Library Conflict Involving BCEL Library
A question on how users are using <xsl:message >
Kevin Cormier as a new Apache Xalan J committer
Struggling to iterate over tokenized string
Xalan count() trouble
Problem with recursive xpath
Error when switching to java 1 5
document( ' ')
Problem with Xalan2 7 0 transformation
cr/lf options
entity encoded XML
can xalan transform 2 xml using one xslt?
Xalan J JIRA defect review Monday October 16, 2006 from 2:00 to 3:30 pm ED
xsl transform with cdata section elements
xslt parameters not expanded
Weird behavior of XPath evaluate()
How to avoid <xsl:message > instruction prints stylesheet file informations ?
Cannot find SimpleTransform subdirectory after installing Xalan J
recover from document not found exceptions
jdk1 5 and Xalan jar differences?
Performance Issue
Error/Bug adding floating point numbers
XPathAPI: eval exp using nodes with default namespace
modifying xalan to output invalid XML
NullPointerException
mege two separate xml nodes into one
Is this a XALAN document identification bug?
is StylesheetRoot really java io Serializable ?
transform() fails for DOMSource but succeeds for StreamSource
Thoughts on Transformer parameter passing
HELP, Xalan and jstl 1 1 problem with transformer
Problem with XPath namespace axis?
string utils:replace deleting search string if replacement string is an HTML
help with enumeration values pls
xalan 2 5 1 vs 2 7 performance question
How to insert/update in XML document
HTML Serialization and Handling of Ampersands in HREF Attributes
XHTML link tag stripping
SystemId Unknown; Line #24; Column #49; java lang NullPointerException
xpath text() help
Apostrophe problem with xalan 2 7 0
How to set variables in XML document?
Links
Home
Oracle database error code ...
 
Search:  
Power your search with and, or, +, -, or "some phrase" operators.
Problem calling external java method

Problem calling external java method

2005-10-19       - By John Gentilin
Reply:     1     2     3     4  

Chris,

I declare my extensions, in interpretive mode, a bit differently. I
think the java namespace may
have special meaning. The example below declares a class called
CategoryPageMgr that exists
in the custom package.

<xsl:stylesheet
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
   xmlns:catmgr="custom.CategoryPageMgr"
   exclude-result-prefixes="catmgr"
   extension-element-prefixes="catmgr">

   <xsl:param name="CategoryMgr" select="catmgr:new()"/>
 
   <xsl:template match="foo">
      <data>
          <xsl:value-of select="catmgr:getCategoryPage($CategoryMgr,
$category, $localID, $pageData)" />                  
      </data>
   </xsl:template>

</xsl:stylesheet>

Hope that helps
John G

Chris Bare wrote:

>Help!
>
>I keep getting a NoSuchMethodException while trying to call a java
>extention function using Xalan-j 2.7.0. It seems that calling static
>java methods works, but calling nonstatic methods seems to be broken.
>
>I've included an easy way to reproduce the problem here. The commented
>out template calls a static function on the class Helper. It works. The
>other template calls a nonstatic method and it barfs giving this
>message:
>NoSuchMethodException: For extension function, could not find method
>static xsltest.Helper.square([ExpressionContext,] #UNKNOWN
>(xsltest.Helper), #NODESET)
>
>Maybe I'm doing something wrong. I'm trying to follow the instructions
>here:
>http://xml.apache.org/xalan-j/extensions_xsltc.html
>
>My questions are:
>  Am I doing something totally bass-ackwards?
>  Is this a Xalan bug?
>  Is there already a bug report filed?
>  (I looked in Jira and found old closed bugs [Bug 1501], but none for
>2.7.0.)
>
>
>
>-- test.xsl ----------------------------------------------------
>
><?xml version="1.0" encoding="UTF-8"?>
><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>                xmlns:java="http://xml.apache.org/xalan/java"
>         version="1.0">
>
>   <xsl:output method="xml"/>
>        <xsl:variable name="helper" select="java:xsltest.Helper.new()"/>
>
>   <xsl:template match="/">
>    <foobar>
>      <xsl:apply-templates select="/xsltest"/>
>    </foobar>
>   </xsl:template>
>
>   <xsl:template match="number">
>    <number>
>      <xsl:variable name="num" select="@(protected)"/>
>      <xsl:attribute name="square"><xsl:value-of
>select="java:xsltest.Helper.square($helper,$num)"/></xsl:attribute>
>    </number>
>   </xsl:template>
>
><!--
>   <xsl:template match="number">
>    <number>
>      <xsl:variable name="num" select="@(protected)"/>
>      <xsl:attribute name="square"><xsl:value-of
>select="java:xsltest.Helper.staticSquare($num)"/></xsl:attribute>
>    </number>
>   </xsl:template>
>-->
>
></xsl:stylesheet>
>
>
>-- Helper.java -------------------------------------------------
>
>package xsltest;
>
>public class Helper {
>
>    public static int staticSquare(int n) {
>        return n * n;
>    }
>
>    public int square(int n) {
>        return n * n;
>    }
>}
>
>-- MyXml.xml ---------------------------------------------------
>
><?xml version="1.0" encoding="UTF-8"?>
><xsltest>
>   <number value="3"/>
>   <number value="17"/>
></xsltest>
>
>
>
>Here's the command line:
>
>  
>
>>java -cp
>>    
>>
>./classes;./lib/xml-apis.jar;./lib/serializer.jar;./lib/xercesImpl.jar;.
>/lib/xalan.jar;./lib/log4j-1.2.12.jar
>org.apache.xalan.xslt.Process -IN ./src/xsltest/MyXml.xml -XSL
>./src/xsltest/test.xsl
>
>Here's the error msg:
>
>(Location of error unknown)XSLT Error
>(javax.xml.transform.TransformerException):
>java.lang.NoSuchMethodException: For extension function, could not find
>method static xsltest.Helper.square([ExpressionContext,] #UNKNOWN
>(xsltest.Helper), #NODESET).
>Exception in thread "main" java.lang.RuntimeException:
>java.lang.NoSuchMethodException: For extension function, could not find
>method static xsltest.Helper.square([ExpressionContext,] #UNKNOWN
>(xsltest.Helper), #NODESET).
>        at org.apache.xalan.xslt.Process.doExit(Process.java:1153)
>        at org.apache.xalan.xslt.Process.main(Process.java:1126)
>
>
>org.apache.xalan.xslt.EnvironmentCheck gives me:
>
>[...]
>version.xerces2=Xerces-J 2.7.1
>version.xerces1=not-present
>version.xalan2_2=Xalan Java 2.7.0
>version.xalan1=not-present
>version.ant=not-present
>java.version=1.5.0_05
>version.DOM=2.0
>version.crimson=not-present
>[...]
>version.SAX=2.0
>version.xalan2x=Xalan Java 2.7.0
>[...]
>
>
>
>-- thanks!!!
>  
>


--
--------------------------------------
John Gentilin
Eye Catching Solutions Inc.
18314 Carlwyn Drive
Castro Valley CA 94546

   Contact Info
gentijo@(protected)
Ca Office 1-510-881-4821
NJ Office 1-732-422-4917