1

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

4

1 回答 1

2

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

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

    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. 除了下载具有所有功能的整个库之外,您还可以简单地复制粘贴您需要的特定功能,如您链接到的页面上所示:

    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)
    

在这两个示例中,您只需将$node和替换$seq为您的变量。

于 2012-10-15T18:15:17.280 回答