Узел XQuery является последовательностью

Является is-node-in-sequence-deep-equal в XQuery? Мне интересно, потому что я видел функцию на xqueryfunctions.com, но я не могу ее использовать.

1 ответ

Эта функция является частью библиотеки 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 с вашими переменными.

Другие вопросы по тегам