Moin moin liebes Forum
ich komme ohne Deine Hilfe nicht mehr weiter...
Es geht um folgendes: Ich erhalte ein XML-File mit Artikeln, die bestimmten Kategorien zugeordnet sind. Aus dieser Datei möchte ich mittels XSLT eine menschenlesbare HTML-Datei erstellen.
Es gibt eine endliche Anzahl von Kategorien, die allerdings eine unbekannte Anzahl von Unterkategorien enthalten:
Beispiel:
Autos Küchengeräte
+-BMW +-Phillips
+-Mercedes ++Moulinex
+-Porsche |++Toaster
+-Rover | ++Sandwich-Toaster
| +-Dreieckige Sandwich-Toaster
| +-Viereckige Sandwich-Toaster
|
+Küchenmaschinen
Bei Autos gibt es jetzt zufälligerweise nur eine ebene von Unterkategorien, im Falle der Küchengeräte gibt es manchmal eine, manchmal mehrere, unterschiedlich tief verschachtelt.
Die Autos auszugeben wäre keine Problem, ich habe das für die erste Ebene bisher immer so gelöst:
<xsl:for-each select="menue/menueCategory/">
<h3><xsl:value-of select="cat_name"/></li>
<ul>
<xsl:for-each select="menue/menueCategory/menueCategory">
<li><xsl:value-of select="cat_name"/></li>
</xsl:for-each>
</ul>
Wie kann ich nun
1.) eine Bedingung einfügen, die prüft, ob es ein weiteres Child "menueCategory" gibt und
2.) zweitens dieses so oft ausgeben, bis kein weiteres Child "menueCategory" gegeben ist?
Also etwas in der Art
if
{
child menueCategory
<li>
<ul>
for each menueCategory
{
<li><xsl:value-of select="cat_name"/></li>
}
</ul>
</li>
}
Gruß,
Marc.
Und immer schön
validieren (http://validator.w3c.org)
sh:( fo:| ch:? rl:? br:> n4:& ie:% mo:} va:} de:] zu:) fl:( ss:| ls: js:(
http://www.peter.in-berlin.de/projekte/selfcode/?code=sh%3A%28+fo%3A%7C+ch%3A%3F+rl%3A%3F+br%3A%3E+n4%3A%26+ie%3A%25+mo%3A%7D+va%3A%7D+de%3A%5D+zu%3A%29+fl%3A%28+ss%3A%7C+ls%3A+js%3A%28