我在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()