home contribute faq download

FunctX XQuery Functions

functx:sequence-deep-equal

Whether two sequences have the same XML node content and/or values

Google
Webxqueryfunctions.com

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 Type

NameTypeDescription
$seq1 item()* the first sequence
$seq2 item()* the second sequence
return value xs:boolean

XQuery Function Declaration

See XSLT definition.
declare namespace functx = "http://www.functx.com";
declare function functx:sequence-deep-equal
  ( $seq1 as item()* ,
    $seq2 as item()* )  as xs:boolean {

  every $i in 1 to max((count($seq1),count($seq2)))
  satisfies deep-equal($seq1[$i],$seq2[$i])
 } ;

Examples

let $in-xml :=
<authors>
   <author>
      <fName>Kate</fName>
      <lName>Jones</lName>
   </author>
   <author>
      <fName>John</fName>
      <lName>Doe</lName>
   </author>
</authors>
let $anAuthor :=
<author>
   <fName>Kate</fName>
   <lName>Jones</lName>
</author>
return
XQuery ExampleResults
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 Also

fn:deep-equalWhether two nodes have the same content and attributes
functx:sequence-node-equalWhether two sequences contain the same XML nodes, in the same order
functx:sequence-node-equal-any-orderWhether two sequences contain the same XML nodes, regardless of order

History

Published OnLast UpdatedContributor(s)
2006-06-272007-02-26Priscilla Walmsley, Datypic, pwalmsley@datypic.com, http://www.datypic.com
Datypic XQuery Services

Recommended Reading:

XQuery