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! |
- Re: translets refuse to work with the evaluate() extensi... Yuriy Zilbergleyt
- Re: translets refuse to work with the evaluate() ex... Morris Kwan
- RE: translets refuse to work with the evaluate() ex... Yuriy Zilbergleyt
- RE: translets refuse to work with the evaluate() ex... Yuriy Zilbergleyt
- RE: translets refuse to work with the evaluate() ex... Yuriy Zilbergleyt