将xpath传递给xquery

时间:2011-09-27 01:09:13

标签: xml xpath xquery

我通常在xqueries中硬连线xpath如下:

let $xml :=
<books>
  <book price="1">
    <name>abc</abc>
  </book>
</books>

return $xml/book/name

我试图找出是否有办法将xpath作为字符串变量路径并在xquery中使用它,如下所示:

declare variable $xpath as xs:string external;
let $xml :=
    <books>
      <book price="1">
        <name>abc</abc>
      </book>
    </books>
return $xml/$xpath

假设传递给$ xpath的值是book / name。

感谢。

1 个答案:

答案 0 :(得分:2)

简短回答:不。但是,如果您的处理器具有“eval()”方法,则可以将查询构造为字符串并对其进行评估。您可以在某个外部进程中创建查询,并以这种方式嵌入动态路径。如果您的案例数量很少,您可以传入一个变量来指示要使用哪一个。但是xquery语言中没有用于评估动态路径的工具。