Jakson: Zellenhöhe in XSL

Beitrag lesen

Ich hab da ein kleines Problem mit einer Tabelle.
Ich weiß es gibt einen Themenbereich XSL aber es ist aber ja ein XHTML Problem soviel ich sehe.

Also ich hab eine XML Datei mit Daten und eine XSL Datei in der drinnen steht wie die Seite dann ausschauen soll. Soweit alles ok.

Ich will jetzt drei Felder mit möglicherweise mehrzeiligem Text in folgendem Layout:

+----------+-+-------------+
| Header A | | Header B    |
+----------+-+-------------+
| Item A   | | Item B      |
| Zeile2   | |             |
| Zeile3   | |             |
| Zeile4   | |             |
| Zeile5   | |             |
| Zeile6   | +-------------+
| Zeile7   | |             |
| Zeile8   | | Header C    |  <--- Problem
| Zeile9   | |             |
| Zeile10  | +-------------+
| Zeile11  | | Item C      |
| Zeile12  | |             |
| Zeile13  | |             |
| Zeile14  | |             |
+----------+-+-------------+

Jetzt ist nur das Problem das die Höhe der Kopfzeile zu "Item C" vom Browser willkürlich festgelegt wird.

Mit Style="Height:10px;" hab ich es geschafft das im FireFox es richtig angezeigt wird. Nur der IE6.0 macht es immer noch falsch.

== XML Data: "Test.XML" =================
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="Test.xsl" ?>
<Root>
 <Data>
  <ItemA>Item1A
Zeile2
Zeile3
Zeile4
Zeile5
Zeile6
Zeile7
Zeile8
Zeile9
Zeile10
Zeile11
Zeile12
Zeile13
Zeile14</ItemA>
  <ItemB>Item1B</ItemB>
  <ItemC>Item1C</ItemC>
 </Data>
</Root>

== XSL Data: "Test.XSL" =================
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template name="Umbruch">
 <xsl:param name="Text" />
 xsl:choose
  <xsl:when test="contains($Text, '&#xA;')">
   <xsl:value-of select="substring-before($Text, '&#xA;')" />
   <br />
   <xsl:call-template name="Umbruch">
    <xsl:with-param name="Text" select="substring-after($Text,'&#xA;')" />
   </xsl:call-template>
  </xsl:when>
  xsl:otherwise
   <xsl:value-of select="$Text" />
  </xsl:otherwise>
 </xsl:choose>
</xsl:template>

<xsl:template match="/">
  <html>
   <head>
    <title>Test</title>
   </head>
   <body>
    <table Border="0" Width="500">

<xsl:for-each select="/Root/Data">
      <tr>
       <th>Item A</th>
       <td></td>
       <th>Item B</th>
      </tr>
      <tr>
       <td rowspan="3" Style="Border:1px Solid Black;Vertical-Align:Top;"><xsl:call-template name="Umbruch"><xsl:with-param name="Text" select="ItemA" /></xsl:call-template></td>
       <td rowspan="3"></td>
       <td Style="Border:1px Solid Black;Vertical-Align:Top;"><xsl:call-template name="Umbruch"><xsl:with-param name="Text" select="ItemB" /></xsl:call-template></td>
      </tr>
      <tr>
       <th Style="Height:10px;">Item C</th>
      </tr>
      <tr>
       <td Style="Border:1px Solid Black;Vertical-Align:Top;"><xsl:call-template name="Umbruch"><xsl:with-param name="Text" select="ItemC" /></xsl:call-template></td>
      </tr>
      <tr>
       <td colspan="3"></td>
      </tr>
     </xsl:for-each>
    </table>
   </body>
  </html>
 </xsl:template>

</xsl:stylesheet>