我有这样的
XML文档.
<Authors> <Author> <name>R.N Tagore</name> <book>Gitanjli</book> </Author> <Author> <name>Premchand</name> <book>Panch Parameshvar</book> </Author> <Author> <name>H.R Bacchan</name> <book>Madhushala</book> </Author> <Author> <name>Premchand</name> <book>Gaban</book> </Author> <Author> <name>Premchand</name> <book>Nirmala</book> </Author> <Author> <name>Premchand</name> <book>Nirmala</book> </Author> </Authors>
从上面的XML我需要不同的作者姓名列表.
为此我可以写一个像这样的查询,
fn:distinct-values(cts:search(fn:doc()//pa:Author/pa:name,cts:and-query(())))
上面的代码将做的是,它将获得作者名称的结果,然后fn:distinct-values()函数将从该结果集中过滤不同的作者名称.对于当前场景,它将正常工作,因为XML中的数据仅为6,但是当数据非常高时,请说50个lac
cts:search(fn:doc()//pa:Author/pa:name,cts:and-query(()))
上面的查询部分将给出XDMP-EXPNTREECACHEFULL异常,因为我们试图在内存中缓存50个lac的元素.
因此,需要您的帮助才能通过使用cts:search或search:search API来获取不同的作者姓名.我不想先得到结果集,然后使用fn:distinct-values()从该结果集中提取不同的记录.
谢谢,
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。