2

Xquery / Xpath /* 是什么意思:

(:这里 $patterns 看起来像<pattern match="something" replace="else" />:)

declare function local:transform($text as text(), $patterns as element(pattern)*) {
   if(not($patterns)) then 
      $text
   else
      let $patternsremaining := $patterns[position() > 1],
          $modifiedtext := replace($text, $pattern/@match, $pattern/@replace)
      return 
         if($local:language="French" and not($patterns[@match='le'])) then (
             local:transform($modifiedtext, ($patternsremaining, <pattern match="Londres" replace="London" />))
      )
      else(
         local:transform($modifiedtext, $patternsremaining)
      )
};
4

1 回答 1

2
/*

是一个 XPath 表达式,它选择根(文档)节点的所有子元素

它相当于:

/child::*

由于任何格式正确的 XML 文档都必须恰好有一个顶部元素(文档节点的子节点),因此上述两个表达式只选择了一个元素——XML 文档的顶部元素。

于 2013-01-16T13:31:45.403 回答