You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xindice-users@xml.apache.org by "Brent M. Clements" <bc...@rice.edu> on 2003/12/01 21:40:04 UTC

xpath count function

Hi,
 I know this may be the wrong mailing list(is there an xpath mailing
list?) for this question but here goes.

I am trying to return the number of records from a query using the xpath
count function, but it's not returning any output.

Let me start from the beginning:

I run
xindice xpath -c /db/morpheus -q "//*/nodegroup[@ppn='1']"

and I get a large amount of xml data returned.

I'd like to count how many records are return.

I tried using

xindice xpath -c /db/morpheus -q "count(//*/nodegroup[@ppn='1'])"

but that doesn't do anything except bring me back to the command prompt.

Any ideas guys?

Thanks,
Brent

Brent Clements
Linux Technology Specialist
Information Technology
Rice University


xindice url xpath question

Posted by "Brent M. Clements" <bc...@rice.edu>.
Is it possible to run an xpath statement from using a url?

IE something like

http://localhost:4080/db/myxmldatabase/xpath(blah blah blah)

Or something to that effect? if so, how does one do that?

Thanks,
Brent

Brent Clements
Linux Technology Specialist
Information Technology
Rice University


On Mon, 1 Dec 2003, Brent M. Clements wrote:

> Hi,
>  I know this may be the wrong mailing list(is there an xpath mailing
> list?) for this question but here goes.
>
> I am trying to return the number of records from a query using the xpath
> count function, but it's not returning any output.
>
> Let me start from the beginning:
>
> I run
> xindice xpath -c /db/morpheus -q "//*/nodegroup[@ppn='1']"
>
> and I get a large amount of xml data returned.
>
> I'd like to count how many records are return.
>
> I tried using
>
> xindice xpath -c /db/morpheus -q "count(//*/nodegroup[@ppn='1'])"
>
> but that doesn't do anything except bring me back to the command prompt.
>
> Any ideas guys?
>
> Thanks,
> Brent
>
> Brent Clements
> Linux Technology Specialist
> Information Technology
> Rice University
>
>

Re: xpath count function

Posted by Jeff Greif <jg...@alumni.princeton.edu>.
When last I looked, xindice's xpath query mechanism could only return a set
of documents when invoked from the command line -- one document for each
node in the nodeset (xpath terminology) returned by the query.  Your count()
query is not returning a nodeset at all, but a number.

If you are just looking for a *crude* little utility that will help you
determine what your queries are returning, rather than something to hook
into a production system, you could do something like

xindice xpath ... -q "//*/nodegroup[@ppn='1']"  | grep '<nodegroup>' | wc

if you know that nodegroups never nest inside one another.

Alternatively, you could grep for some attribute appearing only in the root
node of each document (such as the special namespace attribute that xindice
adds to each document).

Jeff
----- Original Message ----- 
From: "Brent M. Clements" <bc...@rice.edu>
To: <xi...@xml.apache.org>
Sent: Monday, December 01, 2003 12:40 PM
Subject: xpath count function


> Hi,
>  I know this may be the wrong mailing list(is there an xpath mailing
> list?) for this question but here goes.
>
> I am trying to return the number of records from a query using the xpath
> count function, but it's not returning any output.
>
> Let me start from the beginning:
>
> I run
> xindice xpath -c /db/morpheus -q "//*/nodegroup[@ppn='1']"
>
> and I get a large amount of xml data returned.
>
> I'd like to count how many records are return.
>
> I tried using
>
> xindice xpath -c /db/morpheus -q "count(//*/nodegroup[@ppn='1'])"
>
> but that doesn't do anything except bring me back to the command prompt.
>
> Any ideas guys?
>
> Thanks,
> Brent
>
> Brent Clements
> Linux Technology Specialist
> Information Technology
> Rice University
>
>


Re: xpath count function: this is a solution

Posted by Majirus FANSI <ma...@yahoo.fr>.
Hi,
you must right your xpath count function like this:
xindice xpath -c /db/morpheus -q
count("//*/nodegroup[@appn='1']")
not
xindice xpath -c /db/morpheus -q
 "count(//*/nodegroup[@ppn='1'])" 
because xindice need to avaluate a nodeset between 
double quotes(""), you'll know remember that the
evaluated expression inside these double quotes must
be a nodeset not a number,
best regards,

Majirus
trainee student
http://csysec.univ-pau.fr


--- "Brent M. Clements" <bc...@rice.edu> a écrit : >
Hi,
>  I know this may be the wrong mailing list(is there
> an xpath mailing
> list?) for this question but here goes.
> 
> I am trying to return the number of records from a
> query using the xpath
> count function, but it's not returning any output.
> 
> Let me start from the beginning:
> 
> I run
> xindice xpath -c /db/morpheus -q
> "//*/nodegroup[@ppn='1']"
> 
> and I get a large amount of xml data returned.
> 
> I'd like to count how many records are return.
> 
> I tried using
> 
> xindice xpath -c /db/morpheus -q
> "count(//*/nodegroup[@ppn='1'])"
> 
> but that doesn't do anything except bring me back to
> the command prompt.
> 
> Any ideas guys?
> 
> Thanks,
> Brent
> 
> Brent Clements
> Linux Technology Specialist
> Information Technology
> Rice University
>  

___________________________________________________________
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Yahoo! Mail : http://fr.mail.yahoo.com