XQuery节点是序列

时间:2012-10-15 17:04:47

标签: xquery node-set functx

XQuery中有is-node-in-sequence-deep-equal吗?我想知道因为我在xqueryfunctions.com看到了这个功能,但是我无法使用它。

1 个答案:

答案 0 :(得分:2)

该函数是FunctX XQuery库的一部分。有两种方法可以使用此功能:

  1. download the whole library(选择与您的XQuery版本对应的下载),将其保存在与XQuery程序/文件相同的目录中,然后在XQuery文件中导入模块,例如:< / p>

    import module namespace functx = "http://www.functx.com" at "functx-1.0-doc-2007-01.xq";
    
    (: Insert your code here and call the is-node-in-sequence-deep-equal function as seen below :)
    
    functx:is-node-in-sequence-deep-equal($node, $seq)
    
  2. 您可以简单地复制粘贴所需的特定功能,而不是使用所有功能下载整个库,如page you linked to所示:

    declare namespace functx = "http://www.functx.com"; 
    declare function functx:is-node-in-sequence-deep-equal 
      ( $node as node()? ,
        $seq as node()* )  as xs:boolean {
    
       some $nodeInSeq in $seq satisfies deep-equal($nodeInSeq,$node)
     } ;
    
    (: Insert your code here and call the 'is-node-in-sequence-deep-equal' function as seen below :)
    
    functx:is-node-in-sequence-deep-equal($node, $seq)
    
  3. 在这两个示例中,您只需将$node$seq替换为您的变量。