Subject: Re: Using preceding-sibling::node()
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Mon, 1 Nov 2004 21:03:49 +0000
|
Hi Dilip,
> and if the node with that particular timestamp is not present in
> the XML document I'd like to modify my query
> in such a way that it fetches the node that has a timestamp < 1099119599.
>
> I understand if I change my query to
> child::data[attribute::id =
> 'archive'][@id='archive']/child::timestamp[attribute::time <
> '1099119599']
> then all the nodes with timestamp < 1099119599 get returned
And you want to return just one, right? What about:
data[@id = 'archive']/timestamp[@time < 1099119599][last()]
Depending on your XML structure -- if the <timestamp> elements that
you're interested in might appear within different <data> elements --
you might need to use brackets as in:
(data[@id = 'archive']/timestamp[@time < 1099119599])[last()]
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
|