Use this template
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" />
<xsl:template match="/o/home">
<xsl:apply-templates select="item"/>
</xsl:template>
<xsl:template match="item">
<xsl:if
test="name((preceding-sibling::*)[last()])='group'">.
blah blah
</xsl:if>
<xsl:if test="name((preceding-sibling::*)[last()])='item'">.
blah blah
</xsl:if>
</xsl:template>
</xsl:stylesheet>
For the XML
<?xml version="1.0"?>
<o>
<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>
</o>
BFN,
sundar
-----Original Message-----
From: Mark Ivs [mailto:markivs2003(_at_)yahoo(_dot_)com]
Sent: Wednesday, April 30, 2003 5:30 AM
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
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