[xquery-talk] RE: aggregate , grouping

David Carlisle davidc at nag.co.uk
Wed Dec 21 20:27:19 PST 2005



  the oupt of the xquery i need is the following:-
  trans/item count is 2
  trans/item/elem/ count is 2

It's a lot easier to do this sort of thing in xslt, but in xquery I
suppose you'd do something like

<x>
 <trans id="1">
   <item>
         <elem><elem> it </elem></elem>
   </item>
  </trans>
  <trans id="2">
     <item>
         <elem><elem> is </elem></elem>
    </item>
  </trans>
</x>




for $n in distinct-values(//*/name())
return
("
count",$n,count(//*[name()=$n]))


$ saxon8q -s count.xml count.xq
<?xml version="1.0" encoding="UTF-8"?>
count x 1
count trans 2
count item 2
count elem 4

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________


More information about the talk mailing list