XSLT 2.0 key() function not working if passed multiple values to match

119 Views Asked by At

I'm currently trying to fetch the element node using key() function in XSLT 2.0 by passing multiple values like below

      <xsl:key name="orderMovementByAttr1" match="ns0:OrderMovement" use="ns0:FlexFieldStrings/ns0:Attribute1"/>

 <xsl:function name="func:orderMovementByAttr1-group">
    <?audit suppress oracle.ide.xml.validation-error?>
    <xsl:param name="release"/>
    <xsl:param name="searchList"/>
    <xsl:for-each select="$release">
      <xsl:sequence select="key('orderMovementByAttr1', $searchList)"/>
    </xsl:for-each>
  </xsl:function>

Calling function from main template like below:

func:orderMovementByAttr1-group($vMatchingRelease02, ('SL', 'OB', 'IB_OB'))

Even though my input contains data with one of the search element 'OB', key is not returning data.

If i call function like below i'm getting response:

 func:orderMovementByAttr1-group($vMatchingRelease02, 'OB')

Not working if i call like below i.e. by using sequence or list of values:

 func:orderMovementByAttr1-group($vMatchingRelease02, ('SL', 'OB', 'IB_OB'))
0

There are 0 best solutions below