Hallo,
ich habe eine XML-Datei erstellt, in der die Struktur eines Menüs abgebildet ist, daß ich per XSL als XHTML ausgeben möchte.
Bisher funktioniert das System einwandfrei mit einer Navigationsebene - die Links werden erzeugt, der Quellcode ist valide.
Jedoch bin ich mir nicht sicher, wie ich aus einer XML-Quelle mit einer beliebig langen (unbestimmten) Navigationstiefe mittels XSL den XHTML-Code generiere. Ich möchte also ab einem bestimmten Punkt alle (verschachtelten) Knoten durchlaufen und daraus für die Navigation Links erzeugen, die in verschachtelte "ul"- und "li"-Tags eingeschlossen sind.
Kann mir jemand bei dieser Problematik behilflich sein?
Vielen Dank vorab und viele Grüße.
P.S. hier der Code aus der XSL-Datei..
ich habe eine XML-Datei erstellt, in der die Struktur eines Menüs abgebildet ist, daß ich per XSL als XHTML ausgeben möchte.
Bisher funktioniert das System einwandfrei mit einer Navigationsebene - die Links werden erzeugt, der Quellcode ist valide.
Jedoch bin ich mir nicht sicher, wie ich aus einer XML-Quelle mit einer beliebig langen (unbestimmten) Navigationstiefe mittels XSL den XHTML-Code generiere. Ich möchte also ab einem bestimmten Punkt alle (verschachtelten) Knoten durchlaufen und daraus für die Navigation Links erzeugen, die in verschachtelte "ul"- und "li"-Tags eingeschlossen sind.
Kann mir jemand bei dieser Problematik behilflich sein?
Vielen Dank vorab und viele Grüße.
P.S. hier der Code aus der XSL-Datei..
PHP-Code:
<ul>
<xsl:for-each select="navigation_item">
<xsl:element name="li">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="@href"/>
</xsl:attribute>
<xsl:attribute name="title">
<xsl:value-of select="@title"/>
</xsl:attribute>
<xsll:value-of select="@name"/>
</xsl:element>
<xsl:if test="count(subnavigation) > 0">
<xsl:element name="ul">
<xsl:for-each select="subnavigation">
<xsl:element name="li">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="@href"/>
<xsl:attribute>
<xsl:attribute name="title"><xsl:value-of select="@title"/>
</xsl:attribute>
<xsl:value-of select="@name"/>
</xsl:element>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:if>
</xsl:element>
</xsl:for-each>
</ul>
Kommentar