Description
The functx:sequence-deep-equal function returns a boolean value indicating whether the two sequences have the same content or values, in the same order. To compare items, it uses the built-in fn:deep-equal function. The argument sequences can contain nodes or atomic values or both. For nodes, it compares them based on their contents and attributes, not their node identity. For atomic values, it compares them based on their typed values.
Arguments and Return TypeName | Type | Description |
$seq1 |
item()* |
the first sequence |
$seq2 |
item()* |
the second sequence |
return value |
xs:boolean |
XSLT Function DeclarationSee XQuery definition. | <xsl:function name="functx:sequence-deep-equal" as="xs:boolean"
xmlns:functx="http://www.functx.com">
<xsl:param name="seq1" as="item()*"/>
<xsl:param name="seq2" as="item()*"/>
<xsl:sequence select="
every $i in 1 to max((count($seq1),count($seq2)))
satisfies deep-equal($seq1[$i],$seq2[$i])
"/>
</xsl:function>
|
Examples<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 Example | Results |
---|
functx:sequence-deep-equal(
$in-xml/author/*, $in-xml/*/*) |
true |
functx:sequence-deep-equal(
$in-xml/author[1], $anAuthor) |
true |
functx:sequence-deep-equal(
(1,2,3), (1.0,2.0,3.0)) |
true |
See AlsoHistory |
Recommended Reading:
|