【发布时间】:2017-05-13 05:41:31
【问题描述】:
假设我有 n 个文档,其文档结构如下所示 -
<employee> <name/> <dob/> ..... <dept>dept1</dept> </employee>
<employee> <name/> <dob/> ..... <dept>dept11</dept> </employee>
<employee> <name/> <dob/> ..... <dept>dept12</dept> </employee>
<employee> <name/> <dob/> ..... <dept>dep13</dept> </employee>
<employee> <name/> <dob/> ..... <dept>dep1n</dept> </employee>
<employee> <name/> <dob/> ..... <dept>dept2</dept> </employee>
<employee> <name/> <dob/> ..... <dept>dept21</dept> </employee>
<employee> <name/> <dob/> ..... <dept>dept22</dept> </employee>
<employee> <name/> <dob/> ..... <dept>dept23</dept> </employee>
<employee> <name/> <dob/> ..... <dept>dept2n</dept> </employee>
<employee> <name/> <dob/> ..... <dept>deptn</dept> </employee>
<employee> <name/> <dob/> ..... <dept>deptn1</dept> </employee>
<employee> <name/> <dob/> ..... <dept>deptn2</dept> </employee>
<employee> <name/> <dob/> ..... <dept>deptn3</dept> </employee>
<employee> <name/> <dob/> ..... <dept>deptnn</dept> </employee>
dept1 是父级。即所有名称如dept11、dept12、dept13 ...的部门都是dept1的子集。类似dept2 是父级,所有名称为 dept21,dept22,dept23 的部门都是 dept2 的子集。
我想在 Xquery 和 Marklogic API 的帮助下找到属于主要部门的员工列表,即属于 dept1、dept11、dept12 等的员工列表。
希望大家理解这个问题。
【问题讨论】:
-
如果部门数量少于 10 个(否则我不明白如何解释 111 - 11-1 或 1-11),使用 Xath 1.0 您可以为每个部门获取
count(//employee//dept[starts-with(.,'dept2')])跨度> -
文档数为 n 且未使用 - 符号。它的 11、12、13 等。
-
@risabhv66 问题是,如果有超过 10 个部门,“dept111”是什么意思? 父母 'dept11' 的 1 号孩子 或 父母 'dept1' 的 11 号孩子?
-
从我的例子中很明显没有 111 这样的东西。最大值将是 1n,其中 n 是 [0-9] 中的数字。
标签: xml xpath xquery marklogic marklogic-8