Hi John,

You're receiving this error message because MyTest() is the constructor of
the class, so as per http://xml.apache.org/xalan-j/extensions.htm, you
should follow the instructions for creating a new object:
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
  To create an instance of an object:                                  
  prefix:FQCN.new (args)                                               
                                                                       
                                                                       
  where prefix is the extension namespace prefix for the Java namespace and
  FQCN is the fully qualified class name of the class whose constructor is to
  be called. A new instance is to be created with the args constructor 
  arguments (if any). All constructor methods are qualified for method 
  selection.                                                           
  Example: <xsl:variable name="myHash"                               
         select="java:java.util.Hashtable.new()">      
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       


Also, you should consider using the abbreviated syntax, since it doesn't
add any functionality for Java extensions and is not supported in XSLTC.
See the aforementioned web page for more information.


Kevin Cormier
Software Developer, XSLT Development
IBM Toronto Lab, D1-435
Phone: 905-413-5771
E-mail:  [EMAIL PROTECTED]


                                                                       
             "Wade, John F.                                            
             (MSFC-NAS902099)[                                         
             TBE]"                                                      To
             <[EMAIL PROTECTED]         "Wade, John F.                  
             .gov>                     \(MSFC-NAS902099\)[TBE]"        
                                       <[EMAIL PROTECTED]>, Kevin   
             05/02/2007 09:49          Cormier/Toronto/[EMAIL PROTECTED]       
             AM                                                         cc
                                       <xalan-j-users@xml.apache.org>  
                                                                   Subject
                                       RE: Xalan extension functions   
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       




It's not Monday anymore.  Oh well.

Here's the test case java code.  It does exactly nothing.


Import java.util.*;


public class MyTest


{


public MyTest()


{}


}



The namespace and component definitions are:


<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet
xmlns:xsl=http://www.w3.org/1999/XSL/Transform
xmlns=http://www.w3.org/1999/xhtml
xmlns:doc=http://nwalsh.com/xsl/documentation/1.0
exclude-result-prefixes="doc"
xmlns:xalan=http://xml.apache.org/xalan
xmlns:mytest="MyTest"
extension-element-prefixes="mytest"
version="1.0">


<xalan:component prefix="mytest" functions="MyTest">
<xalan:script lang="javaclass" src="xalan://MyTest/"/>
</xalan:component>




Down in one of the templates I've added a line that says:


<xsl:value-of select="mytest:MyTest()"/>



And the error I get is:

(Location of error unknown)XSLT Error
(javax.xml.transform.TransformerException):
javax.xml.transform.TransformerException: Instance method call to method
MyTest requires an Object instance as first argument
...which isn't the error I remember getting last time I tried this, but one
thing at a time.

Suggestions?

*********************************
John F. Wade, PE
MSFC EO20 - TBE




From: Wade, John F. (MSFC-NAS902099)[TBE] [mailto:[EMAIL PROTECTED]
Sent: Fri 4/27/2007 3:29 PM
To: Kevin Cormier
Cc: xalan-j-users@xml.apache.org
Subject: RE: Xalan extension functions

Classpath has been my thought, too.  I'm a real beginner at this, and the
environment I'm working with has two variants, so I'm not sure how to
determine what the classpath is in each case.
But, we'll start with the stylesheet and JAVA code on Monday and go from
there.

Thanks.

JFW



From: Kevin Cormier [mailto:[EMAIL PROTECTED]
Sent: Fri 4/27/2007 3:11 PM
To: Wade, John F. (MSFC-NAS902099)[TBE]
Cc: xalan-j-users@xml.apache.org
Subject: Re: Xalan extension functions



Hi John,

All I can think of with the information you've given is to check that your
class is on the classpath.

Could you send your stylesheet and Java class, and also show how you
invoked the transformation and what the full error message was?





Reply via email to