【发布时间】:2010-10-06 18:08:53
【问题描述】:
我有一个 XML 数据库,其中包含具有 id 的元素。这些都是独一无二的。它们还有一个辅助标识符,将它们链接到另一个数据库中的类似对象。这些并非都是独一无二的。
是否有可以让我识别所有非唯一 ID 的 XQuery?我可以计算有多少使用 distinct-values(),但这无助于识别有重复的 ID!
示例 XML:(每个对象都包含在 eXist 数据库中的单独文件中)
<object id="uniqueID123">
<secondary identifier="nonUnique888"/>
</object>
<object id="uniqueID456">
<secondary identifier="nonUnique888"/>
</object>
<object id="uniqueID789">
<secondary identifier="Unique999"/>
</object>
我想识别重复的字符串“nonUnique888”。
【问题讨论】:
-
@user320425:从语义上讲,这是 this 的副本,因为 XQuery 是 XPath 的超集。
-
哇,$vSeq[index-of($vSeq,.)[2]] 确实是一个非常优雅的解决方案!我没有意识到 index-of() 是这样工作的,太习惯了 Java 的 find-the-first 风格。
-
@user320425:好问题(+1)。阅读我希望包含最短解决方案的答案。
标签: xml duplicates xquery xpath-2.0