【发布时间】:2011-12-19 04:06:59
【问题描述】:
我正在eXist 上写 xquery。
通常我用这种方式来选择xml中的项目:
fn:doc($document_name)/root/a
但现在我想从字符串变量中获取 xpath:
let $xpath := request:get-parameter("xpath", "")
fn:doc($document_name)/$xpath
当然不行。
我现在发现的唯一方法是使用eval:
util:eval(fn:concat("fn:doc($document_name)", $xpath)):)
但我不想使用eval,因为它速度慢且不安全。
我知道有这样的:
fn:doc($document_name)/*[name()='node_name']
但我想通过整个路径选择项目,而不仅仅是节点的名称
我也尝试过使用node-xpath(),但不知道如何像name()一样使用它
【问题讨论】: