bremic: automatischer Tabellenaufbau

Beitrag lesen

Hallo,

ich möchte aus einer XML Datei eine Tabelle aufbauen.
In der XML-Datei stehen nur field-Elmente, die die zusätzlichen Attribute row und column besitzen. Ich möchte jetzt vor jedem field, bei dem Column = 1 ist eine neue Zeile beginnen (also <tr>) und nach jedem field mit column = 9 die Zeile beenden (also </tr>). Im Beispiel wie folgt:

<table border="1">
  <xsl:for-each select="field">
    xsl:choose
      <xsl:when test="./@column != 1 and ./@column != 9">
        <td>..........</td>
      </xsl:when>
      <xsl:when test="./@column = 1">
        <tr><td>..........</td>
      </xsl:when>
      <xsl:when test="./@column = 9">
       <td>..........</td></tr>
      </xsl:when>
    </xsl:choose>
  </xsl:for-each>
</table>

Jetzt meckert aber der Parser zu Recht herum, dass es sowohl ein nichtschliessendes </tr>-Element gibt (für den Fall column = 1), als auch eine nichtöffnendes <tr>-Tag (für den Fall column = 9).
Hat vielleicht jemand eine elegante funktionierende Lösung für das Problem.

Gruß,
Micahel