IV07602: <XSL:KEY/> NOT WORKING IN XSLTC WHEN XML INPUT IS PARSED FROM A JAVA EXTENSION FUNCTION
Closed as program error.
Error Message: N/A . Stack Trace: N/A . Getting wrong transformation results.
When an XML document is parsed either as input to the transformation or using the fn:document() the Translet.buildkeys() method will get invoked to build key indexes in cases where the <xsl:key> element is used. However this is not happening for XSLTC in situations where the XML document is parsed by a Java extension function and returned as a W3C Node object thus causing usage of <xsl:key> to fail.
This defect will be fixed in: 5.0.0 SR13 . The solution is to invoke the Translet.buildKeys() in BasisLibrary.nodeList2Iterator() so we build the key indexes every time we get a DOM from a Java extension function. This however introduces a performance hit because even if the same DOM object is received multiple times we would build the key indexes multiple. Unlike physical XML input files where we can hash by systemid there is currently no efficient way of differentiating one DOM object from another. . To obtain the fix: Install build 20110917 or later
Reported component name
JAVA 5 XML/XSL
Reported component ID
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fixed component name
JAVA 5 XML/XSL
Fixed component ID
Applicable component levels