IC88111: UNEXPECTED RESTART MIGHT BE TRIGGERED BY COMPILING STYLESHEET WITH NON-COMPLIANT <XSL:FOR-EACH> SELECT XPATH EXPRESSION

Fixes are available

Fix packs for DataPower Low Latency Appliance version 3.8.2
Fix packs for DataPower XML Security Gateway appliances version 4.0.1
Fix packs for DataPower XML Accelerator appliances version 4.0.1
Fix packs for DataPower Integration appliances version 4.0.1
Fix packs for DataPower B2B appliances version 4.0.1
Fix packs for DataPower Low Latency Appliance version 4.0.1
Fix packs for DataPower XML Accelerator appliances version 4.0.2
Fix packs for DataPower XML Security Gateway appliances version 4.0.2
Fix packs for DataPower Integration appliances version 4.0.2
Fix packs for DataPower B2B appliances version 4.0.2
Fix packs for DataPower Low Latency Appliance version 4.0.2
Fix packs for DataPower Service Gateway appliances version 4.0.2
Fix packs for DataPower Low Latency Appliance version 5.0
Fix packs for DataPower B2B appliances version 5.0
Fix packs for DataPower Integration appliances version 5.0
Fix packs for DataPower XML Accelerator appliances version 5.0
Fix packs for DataPower XML Security Gateway appliances version 5.0
Fix packs for DataPower Service Gateway appliances version 5.0
Fix packs for DataPower Service Gateway XG45 Virtual Edition version 5.0
Fix packs for DataPower Integration Appliance XI52 Virtual Edition version 5.0
Fix packs for DataPower XML Accelerator appliances version 3.8.2
Fix packs for DataPower XML Security Gateway appliances version 3.8.2
Fix packs for DataPower Integration appliances version 3.8.2
Fix packs for DataPower B2B Appliance XB60 version 3.8.2

Subscribe

You can track all active APARs for this component.

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



Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

WebSphere DataPower SOA Appliances
General

Software version:

4.0.1

Reference #:

IC88111

Modified date:

2013-01-24

Translate my page

Machine Translation

Content navigation