Page 1 of 1

XSL NoSuchMethodException

Posted: Fri Aug 19, 2005 4:25 am
by SunshineOnMyShoulder
I have a elemet in xsl file like this:
<xsl:value-of select="saxon:evaluate(concat('//xf:instance', @ref))"/>
when I generate to html ,there are exception below.
if I comment the "saxon:evaluate", it is OK running but out of my expectation.
JDK: IBM JDK1.4.1.
classpath:jdom.jar, xalan.jar, xercesImpl.jar, xml-apis.jar...

Thanks for any help!

[05-8-18 17:56:00:874 CST] 17d8a8e5 SystemErr R javax.xml.transform.TransformerException: java.lang.NoSuchMethodException: For extension function, could not find method java.lang.String.evaluate([ExpressionContext,] ).
at org.apache.xalan.extensions.ExtensionHandlerJavaPackage.callFunction(ExtensionHandlerJavaPackage.java:405)
at org.apache.xalan.extensions.ExtensionHandlerJavaPackage.callFunction(ExtensionHandlerJavaPackage.java:423)
at org.apache.xalan.extensions.ExtensionsTable.extFunction(ExtensionsTable.java:258)
at org.apache.xalan.transformer.TransformerImpl.extFunction(TransformerImpl.java:465)
at org.apache.xpath.functions.FuncExtFunction.execute(FuncExtFunction.java:234)
at org.apache.xpath.Expression.executeCharsToContentHandler(Expression.java:349)
at org.apache.xalan.templates.ElemValueOf.execute(ElemValueOf.java:311)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2318)
at org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java:178)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2318)
at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:431)
at org.apache.xalan.templates.ElemCallTemplate.execute(ElemCallTemplate.java:285)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2318)
at org.apache.xalan.transformer.TransformerImpl.transformToRTF(TransformerImpl.java:1900)
at org.apache.xalan.transformer.TransformerImpl.transformToRTF(TransformerImpl.java:1822)
at org.apache.xalan.templates.ElemVariable.getValue(ElemVariable.java:348)
at org.apache.xalan.templates.ElemVariable.execute(ElemVariable.java:284)
at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:429)
at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:215)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2318)
at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:699)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2318)
at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:699)
at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:429)
at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:215)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2318)
at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:153)
at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:429)
at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:215)
at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2318)
at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2185)
at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1263)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:671)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1179)
at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1157)

Posted: Fri Aug 19, 2005 9:38 am
by george
Hi,

saxon:evaluate is a Saxon extension and you are using Xalan. You need to use Saxon if you want to use its extensions.

Best Regards,
George

Posted: Mon Aug 22, 2005 2:15 pm
by SunshineOnMyShoulder
Thanks very much!