The EXSLT dynamic extensions (e.g. evaluate) are not supported in XSLTC.
Please see the following link for details:

http://xml.apache.org/xalan-j/extensions_xsltc.html#exslt_ext

Morris Kwan
XSLT Development
IBM Toronto Lab
Tel: (905)413-3729
Email: [EMAIL PROTECTED]



                                                                       
             "Yuriy                                                    
             Zilbergleyt"                                              
             <[EMAIL PROTECTED]                                          To
             ltd.com>                  <[EMAIL PROTECTED]>  
                                                                        cc
             12/12/2003 10:53                                          
             AM                                                    Subject
                                       translets refuse to work with the
                                       evaluate() extension, both Xalan
                                       and exslt versions              
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       




Hi,





I?m trying to use xalan-j-2-5-2 to transform with an XSLT that uses the
evaluate() extension.  This works with the default transformer, but not
with translets.  Whenever I try to use a translet I get the error:  'Cannot
find external method 'org.apache.xalan.lib.Extensions.evaluate' (must be
public).'  for xalan:evaluate(), and the error: 'The first argument to the
non-static Java function 'evaluate' is not a valid object reference.' for
dyn:evaluate().





Here are the XML and XSL files I wrote to test this:





<?xml version='1.0' encoding='UTF-8'?>


<TestElement>


            <data someAttribute="5"/>


            <data someAttribute="10"/>


</TestElement>











<xsl:stylesheet version = '1.0'


                        xmlns:xsl='http://www.w3.org/1999/XSL/Transform'


                        xmlns:xalan='http://xml.apache.org/xalan'


                        xmlns:dyn="http://exslt.org/dynamic";>





                        <xsl:template match="/">


                                    <xsl:value-of
select="xalan:evaluate('//TestElement/data[1]/@someAttribute')"/>


                                    <xsl:value-of
select="dyn:evaluate('//TestElement/data[1]/@someAttribute')"/>


                        </xsl:template>


</xsl:stylesheet>





For transforming without tranlets I used the SimpleTransform sample program
that comes with xalan-j, and for tranlets I used
JAXPTranletOneTransformation.  I?m using J2SE 1.4.2 and J2EE 1.4 final,
with the endorsed xalan jars.  SimpleTransform works,
JAXPTranletOneTransformation  doesn?t, though it works if the evaluate()
extension calls are taken out.  Following is the result of running java
org.apache.xalan.xslt.EnvironmentCheck:





#---- BEGIN writeEnvironmentReport($Revision: 1.23 $): Useful stuff found:
----


version.DOM.draftlevel=2.0fd


java.class.path=.\;C:\j2eesdk1.4\lib\j2ee.jar;C:\Program Files\Apache
Group\Tomc


at 4.1\webapps\Yuriy\WEB-INF\classes\;C:\Documents and
Settings\yzilbergleyt\My


Documents\MyJSP\Classes\;C:\Program Files\Apache Group\Tomcat 4.1
\common\lib\ser


vlet.jar;C:\Documents and Settings\yzilbergleyt\My
Documents\JavaClasses\;c:\tc;



C:\Blazix\Blazix.jar;C:\xalan-j\xalan-j_2_5_2\bin\bsf.jar;C:\xalan-j\xalan-j_2_


5_2\bin\xalan.jar;C:\xalan-j\xalan-j_2_5_2\bin\xalansamples.jar;C:\xalan-j\xalan


-j_2_5_2\bin\xercesImpl.jar;C:\xalan-j\xalan-j_2_5_2\bin\xml-apis.jar;


version.JAXP=1.1 or higher


java.ext.dirs=C:\j2sdk_nb\j2sdk1.4.2\jre\lib\ext


#---- BEGIN Listing XML-related jars in: foundclasses.sun.boot.class.path
----


xalan.jar-path=C:\j2sdk_nb\j2sdk1.4.2\jre\lib\endorsed\xalan.jar


xercesImpl.jar-apparent.version=xercesImpl.jar from xerces-2_4


xercesImpl.jar-path=C:\j2sdk_nb\j2sdk1.4.2\jre\lib\endorsed\xercesImpl.jar


xml-apis.jar-apparent.version=xml-apis.jar present-unknown-version


xml-apis.jar-path=C:\j2sdk_nb\j2sdk1.4.2\jre\lib\endorsed\xml-apis.jar


#----- END Listing XML-related jars in: foundclasses.sun.boot.class.path
-----


version.xerces2=Xerces-J 2.4.0


version.xerces1=not-present


version.xalan2_2=Xalan Java 2.5.2


version.xalan1=not-present


version.ant=not-present


java.version=1.4.2


version.DOM=2.0


version.crimson=present-unknown-version


sun.boot.class.path=C:\j2sdk_nb\j2sdk1.4.2
\jre\lib\endorsed\xalan.jar;C:\j2sdk_n


b\j2sdk1.4.2\jre\lib\endorsed\xercesImpl.jar;C:\j2sdk_nb\j2sdk1.4.2
\jre\lib\endo


rsed\xml-apis.jar;C:\j2sdk_nb\j2sdk1.4.2
\jre\lib\rt.jar;C:\j2sdk_nb\j2sdk1.4.2\j


re\lib\i18n.jar;C:\j2sdk_nb\j2sdk1.4.2
\jre\lib\sunrsasign.jar;C:\j2sdk_nb\j2sdk1


.4.2\jre\lib\jsse.jar;C:\j2sdk_nb\j2sdk1.4.2
\jre\lib\jce.jar;C:\j2sdk_nb\j2sdk1.


4.2\jre\lib\charsets.jar;C:\j2sdk_nb\j2sdk1.4.2\jre\classes


#---- BEGIN Listing XML-related jars in: foundclasses.java.class.path ----


xalan.jar-path=C:\xalan-j\xalan-j_2_5_2\bin\xalan.jar


xalansamples.jar-apparent.version=xalansamples.jar present-unknown-version


xalansamples.jar-path=C:\xalan-j\xalan-j_2_5_2\bin\xalansamples.jar


xercesImpl.jar-apparent.version=xercesImpl.jar from xerces-2_4


xercesImpl.jar-path=C:\xalan-j\xalan-j_2_5_2\bin\xercesImpl.jar


xml-apis.jar-apparent.version=xml-apis.jar present-unknown-version


xml-apis.jar-path=C:\xalan-j\xalan-j_2_5_2\bin\xml-apis.jar


#----- END Listing XML-related jars in: foundclasses.java.class.path -----


version.SAX=2.0


version.xalan2x=Xalan Java 2.5.2


#----- END writeEnvironmentReport: Useful properties found: -----


# YAHOO! Your environment seems to be OK.








Please let me know if this is a bug, or if I'm doing something wrong.





Thanks in advance!


Yuriy Zilbergleyt



Reply via email to