spaltenweise Ausgabe

cplume

Mitglied
Hallo,
ich möchte eine Tabelle folgenermaßen füllen
linke Spalte ungerade Nummern und rechte Spalte die geraden Nummern

<table border="0">
<tr>
<td>
<table border="1">
<tbody>
<tr>
<th>Nr.</th>
<th>Seriennummer</th>
</tr>
<xsl:apply-templates select="tbl_seriennr"/>(ungerade)
</tbody>
</table>
</td>
<td> </td>
<td>
<table border="1">
<tbody>
<tr>
<th>Nr.</th>
<th>Seriennummer</th>
</tr>
<xsl:apply-templates select="tbl_seriennr"/>(gerade)
</tbody>
</table>
</td>
</tr>
</table>
<xsl:template match="tbl_seriennr">
<xsl:variable name="nr">
<xsl:number/>
</xsl:variable>
<tr>
<xsl:if test="($nr mod 2)=0">
<td>
<xsl:value-of select="$nr"/>
</td>
<td>
<input type="hidden" value="{@seriennr_id}" name="seriennr_id"/>
<input type="text" name="seriennr" value="{@seriennr}"/>
</td>
</xsl:if>
<xsl:if test="($nr mod 2)=1">
<td>
<xsl:value-of select="$nr"/>
</td>
<td>
<input type="hidden" value="{@seriennr_id}" name="seriennr_id"/>
<input type="text" name="seriennr" value="{@seriennr}"/>
</td>
</xsl:if>
</tr>
</xsl:template>

Die Unterscheidung ob gerade oder ungerade muss denke ich schon vor dem Templateaufruf stattfinden nur wie?

Es wäre toll wenn mir hierbei jmd. helfen könnte.


so long
cplume
 
mhm, probier doch mal

Code:
<xsl:choose>
 <xsl:when test="tbl_seriennr mod 2 = 0 "> <!-- auf jeden fall eine gerade zahl -->
 [.......]
 </xsl:when>
 <xsl:otherwise>
 [.......] <!-- ungerade -->
 </xsl:otherwise>
</xsl:choose>

"tbl_seriennr" muss dann natürlich eine variable oder eine direktauslesung sein und kein templateaufruf.

wie du das realisierst das du dann dort die nummer hast hängt von deinem restlichen code ab ...

aber ich denke mit dieser Schleife ist dein grundsätzliches problem gelöst ;)

wenn du noch fragen hast einfach posten ;)
 
Zurück