fredy: daten in tabelle neben einander anzeigen.

Beitrag lesen

Hi!

ich möchte gerne meine XML-Daten in einer Tabelle via. XSL ausgeben, wobei immer 2 Datensätze in einer TR in zwei verschiedenen TDs erscheinen sollen.

Datensatz1 Datensatz2
Datensatz3 Datensatz4
Datensatz5

Das funzt auch soweit, aber:

Da es sein kann, daß es eine ungerade anzahl an Datensätzen gibt, soll im oben angeführten Bsp. anstall Datensatz6 ein leeres TD (<TD> </td>) ausgegeben werden.

Wie kann ich das überprüfen?

Mein Code (der ja schon bei einer geraden Anzahl von Datensätzen funzt) ist diesem Posting angehängt.

Danke
  fredy

_____ Mein Code _____

<xsl:template match="ausgabe">

<xsl:if test="(position() mod 2) = 1">      
    <TR>
     <td height="30" width="133"> .... text .... </td>  
     <td width="10"> ... Grafik ... </td>
     <td width="18" align="left" valign="middle"> .... </td>
     <td width="443" valign="middle"><xsl:value-of select="../product/following-sibling::ausgabe"/></td>
        <td><![CDATA[   ]]></td>

<!-- Wenn es noch einen 2. gibt -->
   <xsl:if test="../product/following-sibling::ausgabe[. != '']">
     <td height="30" width="133"> .... text .... </td>  
     <td width="10"> ... Grafik ... </td>
     <td width="18" align="left" valign="middle"> .... </td>
     <td width="443" valign="middle"><xsl:value-of select="../product/following-sibling::ausgabe"/></td>
      </xsl:if>
  
   <!-- Sonst -->
     <xsl:if test="../product/following-sibling::ausgabe[. = '']">
     <td colspan="3"><![CDATA[ ]]></td>
      </xsl:if>  
  
    </TR>    
  </xsl:if>

</xsl:template>