hallo alle zusammen,
ich habe ein problem mit einer xsl-transformation.
mittels dreier schleifen will ich eine xml-datei in eine html-liste überführen. meine xml-datei sieht so aus (kleiner ausschnitt):
<?xml version="1.0" encoding="iso-8859-1"?>
<katalog name="Tools">
<kapitel nummer="1" name="Schraubwerkzeug">
<hersteller name="BMW">
<file nummer="4">TOOLS_MORE_S04.pdf</file>
<file nummer="5">TOOLS_MORE_S05.pdf</file>
<file nummer="6">TOOLS_MORE_S06.pdf</file>
<file nummer="7">TOOLS_MORE_S07.pdf</file>
<file nummer="8">TOOLS_MORE_S08.pdf</file>
<file nummer="9">TOOLS_MORE_S09.pdf</file>
</hersteller>
<hersteller name="Mercedes">
<file nummer="10">TOOLS_MORE_S10.pdf</file>
<file nummer="11">TOOLS_MORE_S11.pdf</file>
<file nummer="12">TOOLS_MORE_S12.pdf</file>
<file nummer="13">TOOLS_MORE_S13.pdf</file>
<file nummer="14">TOOLS_MORE_S14.pdf</file>
<file nummer="15">TOOLS_MORE_S15.pdf</file>
</hersteller>
<hersteller name="VW">
<file nummer="16">TOOLS_MORE_S16.pdf</file>
</hersteller>
</kapitel>
soweit eigentlich eine ganz einfache datei, finde ich.
zum transformieren habe ich mir folgendes xsl gebaut:
<xsl:template match="kapitel">
<ul>
<xsl:for-each select=".">
<li>
Kapitel <xsl:value-of select="@nummer" />:
<b><xsl:value-of select="@name" /></b>
</li>
<ul>
<xsl:for-each select="./hersteller">
<li><xsl:value-of select="@name" /></li>
<ul>
<xsl:for-each select="./hersteller/file">
<li>
<xsl:value-of select="@nummer" />
<xsl:value-of select="file" />
</li>
</xsl:for-each>
</ul>
</xsl:for-each>
</ul>
</xsl:for-each>
</ul>
</xsl:template>
das klappt auch ganz gut, aber wenn ich mir in einer schleife die dateinamen ausgeben lassen will, passiert da ums verrecken nicht:
<xsl:for-each select="./hersteller/file">
<li> <xsl:value-of select="@nummer" /> <xsl:value-of select="file" />
</li>
</xsl:for-each>
probier da jetzt schon den ganzen morgen dran rum, aber entweder bin ich zu dämlich oder ich stolpere über irgendwas...?
hat da jemand eine idee?
viele grüße,
holger