|
Subject: Re: [xsl] Thorny select: getting surrounding years From: Liam R E Quin <liam@xxxxxx> Date: Thu, 21 Oct 2010 18:48:38 -0400 |
On Thu, 2010-10-21 at 10:12 -1000, Brooks Talley wrote:
> I've been wresting with this, and my brain is melting. I need to get a
> list of the surrounding years for an item -- zero to two years before,
> the item itself, zero to two years after. There may be gaps in the
> sequence, in which case I still need two items before and after (if
> available).
>
> Sample xml:
>
> <root>
> <item>
> <id>12345</id>
> <year>2005</year>
> </item>
> <otherYears>
> <item>
> <id>56789</id>
> <year>2001<year>
> </item>
So e.g. in a template to match /root/item, you might want,
../otherYears/item[ (year - $year) * (year - $year) <= 4 ]
to get the 2 years before or after. However, they might not be there,
so maybe really it's something like,
<xsl:for-each select="../otherYears/item[id = ../../item/id]">
<xsl:apply-templates
select="preceding-sibling::item[position() <= 2]" />
<xsl:apply-templates select="." />
<xsl:apply-templates
select="following-sibling::item[position() <= 2]" />
</xsl:for-each>
Liam
--
Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/
Pictures from old books: http://fromoldbooks.org/
Ankh: irc.sorcery.net irc.gnome.org www.advogato.org
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Thorny select: getting su, G. Ken Holman | Thread | [xsl] select the group of rows base, Peacock Lover |
| Re: [xsl] Thorny select: getting su, G. Ken Holman | Date | Re: [xsl] question on EXSLT data pa, Erwan AMOUREUX |
| Month |