holger: ausgabe einer schleife

Beitrag lesen

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