kaepten: Verständnisfrage zu Tabellen-Konstruktion

Beitrag lesen

Hallo Self-Freunde

Ich habe ein XML:

<tabelle>
 <spalte name="1">
  <item>zelle1</item>
  <item>zelle2</item>
 </spalte>
 <spalte name="2">
  <item>zelle3</item>
  <item>zelle4</item>
  <item>zelle5</item>
 </spalte>
</tabelle>

Ich habe ein XSL dazu:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
 <xsl:template match="/">
  <html>
   <head>
    </head>
   <body><table border="1">
    xsl:apply-templates/
    </table>
   </body>
  </html>
 </xsl:template>
 <xsl:template match="spalte">
  <tr>
  xsl:apply-templates/
  </tr>
 </xsl:template>
 <xsl:template match="item">
  <td>
   <xsl:value-of select="."/>
   </td>
 </xsl:template>
</xsl:stylesheet>

Das gibt mir folgenden transformierten Output:

<?xml version="1.0" encoding="UTF-8"?>
<html>
 <head/>
 <body>
  <table border="1">
   <tr>
    <td>zelle1</td>
    <td>zelle2</td>
   </tr>
   <tr>
    <td>zelle3</td>
    <td>zelle4</td>
    <td>zelle5</td>
   </tr>
  </table>
 </body>
</html>

Wie man unschwer erkennen kann, stimmt die Zellenanzahl beim transformierten Output nicht überein. HTML-technisch gesehen sehr unschön.

Wie begegnet man diesem Umstand? Mein primärer Output ist nicht HTML wie oben dargestellt. Aber es soll eine Option sein. Wie aber begegne ich dem unschönen Umstand, dass mir eine Zelle fehlt? Kann ich die fehlende Zelle irgendwie einbauen? Oder gar ein Attribut "colspan" einbauen?

Ich suche natürlich nach einer Lösung, die nicht bedingt dass mein XML anders aufgebaut ist...

Vielen Dank für Hinweise und Tipps
cheers
kaepten