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