I'm having problems running a fairly simple use of the func:function element
that's part of the exslt library implemented by Xalan. I'm pretty sure this
isn't a problem w/ my xsl as it runs fine under Saxon. Here's the xsl:
<?xml version="1.0"?>
<xsl:stylesheet version="1.1"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:func="http://exslt.org/functions"
xmlns:this="http://www.sawyermedia.com/ming/functions/thispage"
extension-element-prefixes="func URLEncoder">
<!--
Copyright 2002 Sawyer Media Systems, Inc.
-->
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:for-each select="sidebar/page">
<xsl:value-of select="this:create-page-path( position() )"/>
</xsl:for-each>
</xsl:template>
<!-- create the path to a sidebar page's html for the config file -->
<func:function name="this:create-page-path">
<xsl:param name="file-number" />
<func:result>
<xsl:value-of select="concat( 'number->', $file-number )"/>
</func:result>
</func:function>
</xsl:stylesheet>
And the exception is:
; Line#: 18; Column#: 61
; Line#: 18; Column#: 61
javax.xml.transform.TransformerException: java.lang.NoSuchMethodException: For
extension function, could not find method
java.lang.Double.create-page-path([ExpressionContext,] ).
at
org.apache.xalan.extensions.ExtensionHandlerJavaPackage.callFunction(ExtensionHandlerJavaPackage.java:389)
at
org.apache.xalan.extensions.ExtensionsTable.extFunction(ExtensionsTable.java:253)
at
org.apache.xpath.functions.FuncExtFunction.execute(FuncExtFunction.java:141)
at org.apache.xpath.XPath.execute(XPath.java:260)
at org.apache.xalan.templates.ElemValueOf.execute(ElemValueOf.java:251)
at
org.apache.xalan.templates.ElemForEach.transformSelectedNodes(ElemForEach.java:499)
at org.apache.xalan.templates.ElemForEach.execute(ElemForEach.java:228)
at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2251)
at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2134)
at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1246)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:504)
at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1174)
at com.sawyermedia.common.Util.XSLTranslate(Util.java:92)
at
com.sawyermedia.flengine.filesource.XSLFileSource.performAction(XSLFileSource.java:63)
at
com.sawyermedia.flengine.filesource.AbstractFileSource.performAction(AbstractFileSource.java:69)
at
com.sawyermedia.flengine.CopyMappingAction.perform(CopyMappingAction.java:74)
at com.sawyermedia.flengine.CopyActionSet.commit(CopyActionSet.java:57)
at
com.sawyermedia.dist.service.server.OnlinePublisher.completePublish(OnlinePublisher.java:56)
at
com.sawyermedia.dist.service.server.AbstractPublisher.publish(AbstractPublisher.java:186)
at
com.sawyermedia.dist.service.server.DistributionServerLocalImpl.publish(DistributionServerLocalImpl.java:38)
at
com.sawyermedia.console.controller.AbstractTopController.handlePublish(AbstractTopController.java:197)
at
com.sawyermedia.console.controller.AbstractTopController.handlePreview(AbstractTopController.java:151)
at
com.sawyermedia.console.controller.ChannelController.doHandleControl(ChannelController.java:124)
at org.scopemvc.controller.basic.BasicController.handleControl(Unknown
Source)
at org.scopemvc.view.swing.SwingUtil.issueControl(Unknown Source)
at org.scopemvc.view.swing.SButton.issueControl(Unknown Source)
at org.scopemvc.view.swing.SButton.fireActionPerformed(Unknown Source)
at
javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown
Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
The information in this email and subsequent attachments may contain
confidential information that is intended solely for the attention and use of
the named addressee(s). This message or any part thereof must not be disclosed,
copied, distributed, or retained by any person without the authorization from
the addressee.