Hallo,
ich habe für die nachfolgende XML Navigation (A) ein XSLT Stylesheet (B), das die Navigation in HTML transformiert und immer nur die Subseiten des entsprechenden Navigationspunkts anzeigt, die anderen verbirgt (Klappmenu). Das geht soweit.
Für eine andere Lösung möchte ich aber, dass die Navigation nur die drei obersten Punkte (Einleitung, Hauptteil, Schluss) zeigt. Die Subseiten (Kapitel)sollen in einer zweiten, eigenständigen Navigation angezeigt werden (ohne die Hauptpunkte). - Wenn ich also in der Navigation auf "Hauptteil" klicke, soll hier nichts weiter aufklappen, die Subseiten sollen vielmehr in einem zweiten Menufeld erscheinen - wieder als Klappmenu)
Leider weiss ich nicht, wie ich das lösen kann.
A. Das XML Dokument (Navigation):
<?xml version="1.0" encoding="UTF-8"?>
<menue>
<topic href="Einführung_1.xml" text="Einführung">
<topic href="../Einführung_Sub_1_1.xml" text="Was ist ...."/>
<topic href="../Einführung_Sub_1_2.xml" text="Über ...."/>
</topic>
<topic href="Hauptteil_2.xml" text="Hauptteil">
<topic href="../Hauptteil_Sub_2_1.xml" text="Kapitel 1 ...."/>
<topic href="../Hauptteil_Sub_2_2.xml" text="Kapitel 2">
<topic href="../Hauptteil_Sub_2_2_1.xml" text="Kapitel 2.1"/>
<topic href="../Hauptteil_Sub_2_2_2.xml" text="Kapitel 2.2"/>
</topic>
</topic>
<topic href="Schluss_3.xml" text="Einführung">
<topic href="../Schluss_Sub_3_1.xml" text="Das wars ...."/>
<topic href="../Schluss_Sub_3_2.xml" text="Sonstiges ...."/>
</topic>
</menue>
B. Das XSLT Stylesheet (für das komplette Klappmenu)
<xsl:template match="topic">
<xsl:variable name="textgroesse">
<xsl:choose>
<xsl:when test="count(ancestor::*)=1">11px</xsl:when>
<xsl:when test="count(ancestor::*)=2">11px</xsl:when>
<xsl:when test="count(ancestor::*)=3">11px</xsl:when>
<xsl:otherwise>11px</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="fontweight">
<xsl:choose>
<xsl:when test="count(ancestor::*)=1">0px</xsl:when>
<xsl:when test="count(ancestor::*)=2">15px</xsl:when>
<xsl:when test="count(ancestor::*)=3">30px</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:choose>
<xsl:when test="descendant::topic[@href = $dateiname]">
<tr> <td style="font-size:{$textgroesse}; ">
<a href="{@href}" class="{@class}" style="padding-left:{$fontweight}; "><xsl:value-of select="@text"/></a></td></tr>
<xsl:apply-templates select="*"/>
</xsl:when>
<xsl:when test="@href = $dateiname">
<tr><td>
<span style="font-size:{$textgroesse}; padding-left:{$fontweight};"><xsl:value-of select="@text"/> </span> </td></tr>
<xsl:apply-templates select="*"/>
</xsl:when>
<xsl:otherwise>
<tr> <td>
<a href="{@href}" class="{@class}" style="font-size:{$textgroesse}; padding-left:{$fontweight}; "><xsl:value-of select="@text"/></a>
</td></tr>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Kann mir jemand helfen?
Vielen Dank
M.