我第一次尝试让fn:id()
XQuery函数无法执行某些操作时失败。
到目前为止,我有一个名为bar.xml的文档;
<bar>
<foo id="a"/>
<foo id="b"/>
<foo id="c"/>
</bar>
和XQuery;
doc('bar.xml')/fn:id(("a", "c"))
但我尝试的所有东西似乎都会返回一个空集。
我还没有学习XML模式。如果没有为bar.xml声明单独的模式文件,fn:id()
可以工作吗?
答案 0 :(得分:5)
您需要指明您的ID属性是ID。
执行此操作的一种方法是向指定此内容的文档添加架构或DTD。
另一种(更容易)方法是在文档中使用xml:id
代替id
。
在相关说明中,您可能希望使用element-with-id()
代替id()
。 element-with-id()
执行id()
最初打算执行的操作,id
出于兼容性原因保留在规范中。