Ich versuche, eine Tabelle nach Spalte durchlaufen und transformieren sie in einzelne Divs. Ich möchte tr [1]/td [1], tr [2]/td [1], tr [3]/td [1] haben ... alle gehören zu einem div. Dann würde ich gerne zu tr [1]/td [2], tr [2]/td [2], tr [3]/td [2] weitergehen.Loop-Through-Tabelle
Ich bin in der Lage, meine Tabelle zu transformieren, wenn ich einfacheren Code verwende, aber ich habe Probleme, jede tr Zeile hinunter zu springen. Unten ist mein XSLT. Jede Hilfe wäre großartig. Ich bin ziemlich neu in XSLT, aber nicht programmieren. Das divs/styling ist einfach, um die Ausgabe einfacher zu sehen.
XML:
<table class="table-with-caption">
<thead>
<tr>
<th>Column Title 1</th>
<th>Column Title 2</th>
<th>Column Title 3</th>
<th>Column Title 4</th>
</tr>
</thead>
<tfoot>
<tr>
<td class="alert-info table-scroll-option" colspan="4">column</td>
</tr>
</tfoot>
<tbody>
<tr>
<td>TR1, TD1</td>
<td><span>TR1, TD2</span></td>
<td><span>TR1, TD3</span></td>
<td><span>TR1, TD4</span></td>
</tr>
<tr>
<td><span>TR2, TD1</span></td>
<td>Atque ab corporis modi deserunt adipisci, expedita temporibus.</td>
<td>Vitae, sint ullam velit accusantium, dolorum ad dolorem.</td>
<td>Iusto expedita minus praesentium vero voluptatum aut laboriosam.</td>
</tr>
<tr>
<td><span>TR3, TD1</span>.</td>
<td>Consequuntur corporis quo libero fuga ducimus provident minus.</td>
<td>Natus reiciendis molestias earum, dolorum similique amet quasi.</td>
<td>Consequuntur sunt minus laudantium, magnam labore, debitis quia!</td>
</tr>
</tbody>
</table>
XSL:
<xsl:for-each select="tbody/tr[position()<=$count-rows]">
<xsl:variable select="1" name="counter" />
<div style="border:thin solid red; padding 5px; margin:5px;">
<xsl:for-each select="tr[$counter]/td[position() le $count-cols]">
<div style="border:thin solid blue; padding 5px; margin:5px;">
<xsl:apply-templates select="node()[name() != 'caption']|attribute()[name() != 'class' and name() != 'tfoot']" />
</div>
<xsl:with-param name="counter" select="$counter + 1"/>
</xsl:for-each>
</div>
</xsl:for-each>
</div>
</xsl:when>
Erwartete Ausgabe:
<div style="border:thin solid red; padding 5px; margin:5px;">
<div style="border:thin solid blue; padding 5px; margin:5px;">TR1, TD1</div>
<div style="border:thin solid blue; padding 5px; margin:5px;"><span>TR2, TD1</span></div>
<div style="border:thin solid blue; padding 5px; margin:5px;"><span>TR3, TD1</span></div>
</div>
zeigen Bitte ein Beispiel für den Eingang und den erwarteten Ausgang - siehe: [MCVE]. –
Siehe auch: http://StackOverflow.com/a/23953021/3016153 und http://StackOverflow.com/A/37799749/3016153 –
Vielen Dank, ich habe zusätzlichen Code hinzugefügt und ich werde in die von Ihnen bereitgestellten Links schauen. – NaCo