functx:sequence-node-equal-any-order

Whether two sequences contain the same XML nodes, regardless of order

Description

The functx:sequence-node-equal-any-order function returns a boolean value indicating whether the two arguments have the same nodes, in any order. They are compared based on node identity, not their contents.

Parameters

Description

seq1:node()

the first sequence of nodes

seq2:node()

the second sequence of nodes

Examples

The examples below use this input document:

<xsl:variable name="in-xml" as="item()*">
  <authors>
     <author>
        <fName>Kate</fName>
        <lName>Jones</lName>
     </author>
     <author>
        <fName>John</fName>
        <lName>Doe</lName>
     </author>
  </authors>
</xsl:variable>

<xsl:variable name="anAuthor" as="item()*">
  <author>
     <fName>Kate</fName>
     <lName>Jones</lName>
  </author>
</xsl:variable>

XPath

Results

functx:sequence-node-equal-any-order($in-xml/author, $in-xml/*)

true

functx:sequence-node-equal-any-order($in-xml/author, ($in-xml/author[2],$in-xml/author[1]))

true

functx:sequence-node-equal-any-order($in-xml/author[1],$anAuthor)

false

See Also