Hallo,
ich baue mir per XSLT ein Menü zusammen. Der aktive Menüpunkt soll dabei die Klasse "current" bekommen. Zusätzlich muss das erste LI-Elemente in der Navigation die Klasse "first" bekommen.
Ich versuche es im Moment so:
<xsl:template match="menuItem" mode="subnav">
<li>
<xsl:attribute name="class" value="" />
<xsl:if test="@href = $current_file_path">
<xsl:attribute name="class"><xsl:value-of select="concat(@class,' current')" /></xsl:attribute>
</xsl:if>
<xsl:if test="position()=1">
<xsl:attribute name="class"><xsl:value-of select="concat(@class,' first')" /></xsl:attribute>
</xsl:if>
<!-- ... etc. -->
Dabei wird der Wert des class-Attributs aber leider innerhalb des zweiten if-Blocks überschrieben. Das Ergebnis ist dann im resultierenden HTML "first" statt "current first".
Trifft das zweite if-Statement nicht zu, so erhalte ich class="current".
Das heißt, die Einzelteile des XSLT-Fragments oben scheinen korrekt zu sein - aber es hapert an der Gesamtlogik.
Vielleicht könnt Ihr mir weiterhelfen?
Danke!
So long,
Andreas
No, Sir, I don't like it.