Subject: Re: Substring test
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 26 Oct 2006 16:27:15 +0100
|
<xsl:template match="navigation/focusedTab">
<xsl:call-template name="activeTab"/>
</xsl:template>
why have a named template here? I'd get rid of that and change
<xsl:template name="activeTab">
to
<xsl:template match="focusedTab">
either way at this point
<xsl:template name="activeTab">
<xsl:choose>
you are on one particular focusedTab element but this test
<xsl:when test="//focusedTab/@name='Home'">
asks if any focusedTab anywheer in the documeent has a name of Home, so
it will almost certainly do the wrong thing (as well as being very
expensive search) if theer are more than one element.
You just want
<xsl:choose>
<xsl:when test="@name='Home'"> ...</xsl:when>
<xsl:when
test="substring-before(@name,'::')='Home'"> ...
<xsl:value-of select="substring-after(@name,'::')"/>
</xsl:when>
<xsl:otherwise>
......
David
|