XQuery 中的动态谓词
Dynamic predicate in XQuery
我注意到一个事实,即当谓词具有要比较的动态字段时,它不起作用。
例如:
db:open("library")//book[$filterFields = $pattern]
为此我得到 0 个结果,
但是当我输入类别而不是 $filterField 时,我得到了一些结果。
如何将谓词中的变量用作字段?
如果 $filterFields
应该包含元素名称列表,您可以使用以下查询:
db:open("library")//book
[*[name() = $filterFields] = $pattern]
我注意到一个事实,即当谓词具有要比较的动态字段时,它不起作用。
例如:
db:open("library")//book[$filterFields = $pattern]
为此我得到 0 个结果,
但是当我输入类别而不是 $filterField 时,我得到了一些结果。
如何将谓词中的变量用作字段?
如果 $filterFields
应该包含元素名称列表,您可以使用以下查询:
db:open("library")//book
[*[name() = $filterFields] = $pattern]