APAR status
Closed as program error.
Error description
An unexpected restart might occur when compiling a style sheet with non-specification compliant "select" XPath expression and a call to dyn:evaluate() inside a <xsl:for-each> loop. An example of a construct with the problem is this: <xsl:variable name="key" select="'someString'"/> ... <xsl:for-each select="*/$key"> <xsl:copy-of select="dyn:evaluate('.')"/> </xsl:for-each> The variable reference on the right hand side of the XPath "/" operator is forbidden by the spec.
Local fix
Correct the non-compliant style sheet. For the specific sample above this might be what is really wanted: <xsl:variable name="key" select="'someString'"/> ... <xsl:for-each select="*"> <xsl:copy-of select="dyn:evaluate($key)"/> </xsl:for-each>
Problem summary
Affected is the use of "dyn:evaluate" EXSLT extension function inside a <xsl:for-each> loop. If the XPath expression in the loop's "select" attribute has errors, the appliance might restart while compiling the style sheet.
Problem conclusion
With the APAR fix, errors of a loop's "select" XPath expression are reported at compile time, in the case of "dyn:evaluate" being used inside the loop. Therefore the following will log a compile error: <xsl:template ...> <xsl:param name="para1"/> ... <xsl:for-each select="$para1/..."> ... "dyn:evaluate(...)" Reason is that <xsl:param name="para1"/> is equivalent to <xsl:param name="para1" select="''"/> by the spec, which initializes "para1" as empty string. But left hand side of XPath "/" step expression must be a nodeset. Please use <xsl:param name="para1" select="/.."/> to initialize the default value to an empty nodeset in order to avoid the error in such a case. Fix is available in 3.8.2.17, 4.0.1.15, 4.0.2.11 and 5.0.0.5 For a list of the latest fix packs available, please see: http://www-01.ibm.com/support/docview.wss?uid=swg21237631
Temporary fix
Comments
APAR Information
APAR number
IC88111
Reported component name
DATAPOWER
Reported component ID
DP1234567
Reported release
401
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-11-09
Closed date
2012-12-21
Last modified date
2013-01-24
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
DATAPOWER
Fixed component ID
DP1234567
Applicable component levels
R382 PSY
UP
R401 PSY
UP
R402 PSY
UP
R500 PSY
UP
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS9H2Y","label":"IBM DataPower Gateway"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"4.0.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
11 February 2022