Re: [xsl] Using preceding-sibling::node()

Subject: Re: [xsl] 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/

Current Thread