[xquery-talk] RE: aggregate , grouping
fatma helmy
fatmahelmy2000 at yahoo.com
Thu Dec 22 04:16:11 PST 2005
dear john snelson
thanks very much , you supplied me by the code i need
to count the node repetition/path. i need to attach to
the nodes also the attribute names count and values
count.
i attached example of the input xml file and the
output summary i want to get.
please , read the attached file
--- John Snelson <jsnelson at sleepycat.com> wrote:
> This query should do what you want:
>
> declare function local:pathOfNode($node)
> {
> if(empty($node/..)) then ""
> else concat(local:pathOfNode($node/..), "/",
> local-name($node))
> };
>
> let $paths := for $n in //* return
> local:pathOfNode($n)
> for $p in distinct-values($paths)
> return concat($p," count is ",count($paths[.=$p]))
>
> As you can see the query is not exactly simple to
> write. It does make me
> wonder what it is that you are trying to acheive,
> and whether there
> would be a better way to do it.
>
> John
>
> David Carlisle wrote:
> > 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
> >
>
________________________________________________________________________
> > _______________________________________________
> > talk at xquery.com
> > http://xquery.com/mailman/listinfo/talk
>
>
> --
> John Snelson, Berkeley DB XML Engineer
> Sleepycat Software, Inc
> http://www.sleepycat.com
>
> Contracted to Sleepycat through Parthenon Computing
> Ltd
> http://blog.parthcomp.com/dbxml
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: example.doc
Type: application/msword
Size: 23552 bytes
Desc: 1261733598-example.doc
Url : http://xquery.com/pipermail/talk/attachments/20051222/3107d004/example-0001.doc
More information about the talk
mailing list