|
Subject: RE: [xsl] find previous node at the same level From: "Michael Kay" <mhk@xxxxxxxxx> Date: Wed, 30 Apr 2003 08:25:18 +0100 |
Use the preceding-sibling axis.
For this kind of problem you often need to use generate-id() as well, to
compare node identities. For example you can define a key
<xsl:key name="g" select="item"
use="generate-id(preceding-sibling::group[1])"/>
which will enable you to find all the items in a group as:
<xsl:template match="group">
<xsl:for-each select="key('g', generate-id())">
....
Michael Kay
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Mark Ivs
> Sent: 30 April 2003 01:00
> To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] find previous node at the same level
>
>
> Hello,
>
> Here's how my xml looks.
>
> <home>
> <group>group 1</group>
> <item>item one</item>
> <item>item two</item>
> <item>item three</item>
> <item>item four</item>
> <group>group 2</group>
> <item>item one</item>
> <item>item two</item>
> <item>item three</item>
> </home>
>
> <xsl:apply-templates select="item">
> if previous node is group... then do blah
>
> else if previous node is item.... then do blah
> </xsl:apply-templates>
>
> So when I am in item template how do I find what the
> previous node is ? (In my example it will be the item
> one nodes)
>
> Your help will be appreciated. Thanks.
>
> Mark
>
> __________________________________
> Do you Yahoo!?
> The New Yahoo! Search - Faster. Easier. Bingo. http://search.yahoo.com
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] find previous node at the sam, Mark Ivs | Thread | RE: [xsl] find previous node at the, Sundar Shanmugasunda |
| RE: [xsl] How to specify output fil, David . Pawson | Date | RE: [xsl] How to put node value int, Michael Kay |
| Month |