WebSphere Application server, using service transformer utilizing WAS implementation com.ibm.xtq.xslt.jaxp.compiler.TransformerFactoryImpl, on XSLT 1.0.
I am unable find a way - works fine with Xalan or Saxon but IBM implementation lacks functionality. Here is my code working fine with other implementations except IBM's:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:date="http://exslt.org/dates-and-times"
extension-element-prefixes="date xs">
<xsl:output method="xml" indent="no"/>
<xsl:param name="sentDateTime"/>
<xsl:variable name="duration" select="'P1D'"/>
<xsl:template match="/">
<soap:Envelope>
<soap:Header>
…..
<u:Expires><xsl:value-of select="xs:dateTime($sentDateTime) + xs:dayTimeDuration($duration)"/></u:Expires>
</u:Timestamp>
…..
I get this error on IBM translator:
javax.xml.transform.TransformerException: java.lang.RuntimeException: [ERR 0343] The XSLT processor was unable to resolve a reference to the Java method 'dateTime'. at com.ibm.xtq.xslt.jaxp.TransformerImpl.transform(Unknown Source)