Xquery从两个XML DB中获取不同的数据

时间:2013-08-20 10:48:39

标签: xml xquery basex

以下是2个XML DB的示例结构 -

主题数据库

<Subjects>
 <Subject>Physics</Subject>
 <Subject>Biology</Subject>
 <Subject>Maths</Subject>
 <Subject>Algebra</Subject>
</Subjects>

分类数据库

<Classification>
 <Subject>Physics</Subject>
 <Subject>English</Subject>
 <Subject>History</Subject>
 <Subject>Algebra</Subject>
</Classification>

我需要将两个DB中的不同值作为单个输出,并且像 -

那样排序
 <Subject>Algebra</Subject>
 <Subject>Biology</Subject>
 <Subject>English</Subject>
 <Subject>History</Subject>
 <Subject>Maths</Subject>
 <Subject>Physics</Subject>

1 个答案:

答案 0 :(得分:3)

经过一些试验和错误之后,我能够获得所需的输出 -

let $items := ( doc("Subject")//Topic , doc("Classification")//Topic )
for $x in distinct-values($items )
   order by $x
   return <Subject>{$x}</Subject>

我很困惑在哪里放distinct-values()以及如何一次打开两个文件。