[XQuery Talk Mailing List Archive Home] [By Date] [By Thread] [By Subject] [By Author] [Recent Entries] [Reply To This Message]

Using Sum and Count

Michael Kay mike at saxonica.com
Tue Jan 15 23:20:35 PST 2008


  Using Sum and Count
 
When you use an element constructor in XQuery, for example

<A>....</A>

the text between the tags can contain literal text:

<A>Here is some output</A>

or expressions written within curly braces:

<A>The answer is {2+40}</A>

A common mistake is to omit the curly braces. If you write

<A>2+40</A>

the output will not be <A>42</A>, but <A>2+40</A>

You have made this mistake in a rather unusual way here:

<statistics>sum({count($head)})</statistics>

Here sum() is taken as literal text, not as an expression, because it is
outside the curly braces.

However, changing it to 

<statistics>{sum(count($head))}</statistics>

would not solve the problem, because count() returns a single number, and
summing a set of numbers that only contains one number doesn't do anything
very useful (though it works). Also, $head is iterating over the items in a
sequence, so count($head) is always one.

Unfortunately though I don't really know what you were trying to compute, so
I can't correct it for you.

Michael Kay
http://www.saxonica.com/
 

> -----Original Message-----
> From: http://x-query.com/mailman/listinfo/talk 
> [mailto:http://x-query.com/mailman/listinfo/talk] On Behalf Of Wei, Alice J.
> Sent: 15 January 2008 22:58
> To: http://x-query.com/mailman/listinfo/talk
> Subject:  Using Sum and Count
> 
> Hi, XQueriers:
> 
>   I have an XML here as follows:
> 
> <project>
> 
> <projection><!--More Markup--></projection> 
> <projection><!--More Markup--></projection> <!--More 
> markup--> </project>
> 
> My XQuery:
> 
> declare boundary-space preserve;
> 
> for $project in
> doc("http://chausie.slis.indiana.edu:8080/exist/rest//db/resum
> e/resume.xml"),
> $head in $project//projection
> return
> <statistics>sum({count($head)})</statistics>
> 
> I intend to get the result of how many items in <projection>, 
> but when I execute it, it only gives me lots and lots of 
> <statistics>sum(1)</statistics> until the document is finished.
> 
> Can any expert out there help me out and tell me what is the 
> matter with my code?
> 
> Thanks to those who can help.
> 
> Alice.
> 
> ======================================================
> Alice Wei
> MIS 2008
> School of Library and Information Science Indiana University 
> Bloomington http://x-query.com/mailman/listinfo/talk
> 
> _______________________________________________
> http://x-query.com/mailman/listinfo/talk
> http://x-query.com/mailman/listinfo/talk



Purchase Stylus Studio Online Today!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2007 All Rights Reserved.