更简单的XQuery语句

时间:2012-10-02 07:35:57

标签: xpath xquery


我问自己是否可以使下面的陈述更简单? 你能救我一下吗?

<Vorlesungsverzeichnis>
{
for $sws in distinct-values(doc('uni')//Vorlesung/SWS) 
order by $sws
return 
 <Vorlesungen SWS="{$sws}">
 {
   for $v in doc('uni')//Vorlesung[SWS=$sws]
   order by $v/Titel
   return <Vorlesung VorlNr="{$v/@VorlNr}" Titel="{$v/Titel}"></Vorlesung>
 }
 </Vorlesungen>
}
</Vorlesungsverzeichnis>

源XML可用here,您也可以尝试查询here

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

在XQuery 3.0中,您可以执行以下操作:

<Vorlesungsverzeichnis>
{
  for $v in doc('uni')//Vorlesung
  order by $v/Titel
  group by $sws := $v/SWS
  return <Vorlesungen SWS="{$sws}">{$v}</Vorlesungen>
}
</Vorlesungsverzeichnis>