I’ve been getting errors when using standard XPath functions such as “year-from-dateTime”.
Sample XSL (abridged):
<?xml version="1.0" encoding="ISO-8859-1"?><xsl:template match=“/EDI_DC40_values”>
<EDI_DC40 SEGMENT=“1”><TABNAM>EDI_DC40</TABNAM> <MANDT>300</MANDT> <DOCNUM><xsl:value-of select="documentNo"/></DOCNUM> <DOCREL>700</DOCREL> <SNDPRN><xsl:value-of select="sender/partnerNumber"/></SNDPRN> <CREDAT> <xsl:value-of select="fn:year-from-dateTime(documentTimeStamp)"/> <xsl:value-of select="fn:month-from-dateTime(documentTimeStamp)"/> <xsl:value-of select="fn:day-from-dateTime(documentTimeStamp)"/> </CREDAT>
</EDI_DC40>
</xsl:template></xsl:stylesheet>
Using the above XSL results in the following error message:
Could not run 'testXsl'.com.wm.app.b2b.server.ServiceException: [B2BXSL.0002.9003] JAXP: Error during transformation - com.wm.pkg.xslt.util.LocalizedTransformerException: [B2BXSL.0002.9001] JAXP: Fatal Error - java.lang.NoSuchMethodException: For extension function, could not find method org.apache.xpath.objects.XNodeSet.yearFromDateTime([ExpressionContext,] ).
Experimenting, I’ve hit the same type of error even when trying really “basic” functions like “substring”.
What should I do to resolve this? It looks like I need an updated Xalan JAR, but the latest one I downloaded doesn’t appear to have the required method…