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 |