left up right
Example: Multiple Levels
<xsl:template match="cd">
<xsl:apply-templates select="*" />
</xsl:template>

<xsl:template match="artist | title | playlist/work">
<xsl:variable name="el"> Defines name of XHTML element
<xsl:choose>
<xsl:when test="name() = 'artist'">h2</xsl:when>
<xsl:when test="name() = 'title' ">h3</xsl:when>
<xsl:when test="name() = 'work' ">pre</xsl:when>
</xsl:choose>
</xsl:variable>
<xsl:element name="{$el}"> Sets element name appropriately
            
<xsl:number count="cd |artist | title | playlist | work" level="multiple" format="1.1.1 " /> <xsl:text> </xsl:text> <xsl:value-of select="." /> </xsl:element> </xsl:template> <xsl:template match="filed | label | catalog " />

Result