首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XQuery和带有XInclude的文档

XQuery和带有XInclude的文档
EN

Stack Overflow用户
提问于 2017-06-21 16:28:05
回答 1查看 188关注 0票数 0

我正在用eXist开始一个新的项目。我们将存储数百个代表手稿的TEI XML文档。我们想要捕捉的很多东西都是排斥的,主要是人和地方。我的同事向TEI社区询问了我们想要捕获什么的策略,并建议使用XInclude作为减少重复的一种方法。

我在文档中添加了一个XInclude,并且序列化的XML确实呈现了包含XML文件。但是,XQuery中缺少包含的文本。我在eXist docs (http://exist-db.org/exist/apps/doc/xinclude.xml)中注意到:

eXist-db在序列化时扩展XIncludes,这意味着查询引擎将在展开XInclude标记之前看到它们。因此,您不能跨XIncludes进行查询--除非为它创建自己的代码(例如,XQuery函数)。不过,今后我们肯定会支持对xincluded内容的查询。

查询使用XInclude的文件的最佳实践是什么?

我想知道是否应该有一个序列化源TEI文件的“作业”来展开XIncludes并将这些文件存储在一个单独的集合中?在这种情况下,文件:序列化是否是此任务的正确函数?

我们正处于项目的开始阶段,所以任何建议都很感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-22 11:50:35

您能描述一下您尝试过什么样的was missing the text查询吗?

通常,由于通过XInclude引用的文件是格式良好的xml文档,所以可以使用集合(文件夹)在exist-db中组织查询。所以你可以用for $search in doc("mydoc.xml")代替for $search in collection('/app/mydata')/*

更详细的答案将跟随源文档中未展开的xinclude语句的属性,并在目标中找到匹配的元素,但如果没有具体的MWE,很难将其抽象出来。

您是否尝试过在let子句中创建一个临时的扩展片段,并查询它而不是存储的xml?小心名称空间!

希望这能有所帮助,并向Sebastiaan问好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44681545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档