【发布时间】:2018-10-02 07:08:51
【问题描述】:
我正在以下文档中编写一些 XQuery:
<pages>
<page>
<content yearID="1998">
<month monthID="1">
...
</month>
<month monthID="2">
...
</month>
...
</content>
<page>
</pages>
我想查询给定年份和月份的文档,并让它返回仅包含该月份的整个节点(不包括其他月份)。我的 XQuery 如下:
for $x in doc("alcala/ledger.xml")//pages/page
where $x/content[@yearID="1998"] and $x/content/month[@monthID="2"]
return $x
我的结果是第 1 个月和第 2 个月。如果我搜索 monthID="3",我会得到第 2 个月和第 3 个月。我尝试只搜索月份(没有年份过滤器)并且得到同样的结果。为什么它给了我上个月的一部分以及我想要的月份?如何删除我不想要的月份?
【问题讨论】:
-
您能否根据此示例输入提供您期望的确切输出?
标签: xml xquery xquery-3.0 flwor