} <xsl:template match="//note">
Or equivalently just
<xsl:template match="note">
Starting a match with // does not change the elements matched, only
changes the default priority)
}<xsl:template match="//note">
} <xsl:choose>
} <xsl:when test="parent::sub1">
} <li>
} <xsl:apply-templates/>
} </li>
} </xsl:when>
} <xsl:when test="parent::sub2">
} <li>
} <xsl:apply-templates/>
} </li>
} </xsl:when>
} <xsl:when test="parent::sub2">
} <li>
} <xsl:apply-templates/>
} </li>
} </xsl:when>
} </xsl:choose>
}</xsl:template>
}
Normally I'd use separate templates rather than an xsl:choose:
<xsl:template match="sub1/note">
<li>
<xsl:apply-templates/>
</li>
</xsl:template>
<xsl:template match="sub2/note">
<li>
<xsl:apply-templates/>
</li>
</xsl:template>
<xsl:template match="sub3/note">
<li>
<xsl:apply-templates/>
</li>
</xsl:template>
David
--
http://www.dcarlisle.demon.co.uk/matthew
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list