Ich muss eine Gruppe von Werten durchlaufen und sie in eine zweispaltige Tabelle drucken.Dynamische HTML-Tabelle mit XSLT
Ich dachte Lösung nach
<table class="main">
<xsl:for-each select="Attribute/Gruppe">
<xsl:if test="current()/@ID=20064490">
<xsl:variable name="open_row"><![CDATA[<tr><td style="width:50%;">
<xsl:value-of select="current()/@name" /></td>]]></xsl:variable>
<xsl:variable name="closing_row"><![CDATA[<td style="width:50%;">
<xsl:value-of select="current()/@name" /></td></tr>]]></xsl:variable>
<xsl:variable name="table">
<xsl:for-each select="*">
<xsl:choose>
<xsl:when test="(position() mod 2) = 1">
<xsl:value-of select="$open_row"
disable-output-escaping="yes" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$closing_row"
disable-output-escaping="yes" />
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:variable>
<xsl:value-of select="$table"
disable-output-escaping="yes" />
</xsl:if>
</xsl:for-each>
</table>
ich den Code (XSLT1 sein muss) jetzt geändert ich position()
bin mit einem Schluss um herauszufinden, ob <tr>
oder eine Öffnung </tr>
erforderlich ist.
Das gesamte Problem könnte zusammengefasst werden, dass Sie nicht einzelne Tags in XSLT schreiben können. Und das disable-output-escaping
funktioniert nicht.
resultierende HTML sollte https://jsfiddle.net/dwetctm6/
für alle Knoten in der Gruppe sein. Die Reihenfolge der Knoten in der Tabelle spielt keine Rolle.
Des Weiteren folgende XML annehmen:
<bgroup> <NODE1>text</NODE1> <NODE2>text</NODE2> <NODE n-1>text</NODE n-1> <NODE n>text</NODE n> </bgroup>
Bitte schreiben Sie ein ** reproduzierbares ** Beispiel, einschließlich Eingabe, ein ausführbares Stylesheet, und das erwartete Ergebnis - siehe: [mcve] –
Ich verstehe nicht, warum Sie alle meine Daten wollen. Ich möchte eine zweispaltige Tabelle. Ist es nicht klar, wenn Sie sich den Code anschauen? Was ist unklar? – Jan
Ich will nicht ** all ** deine Daten. Ich möchte genug Code, der es mir ermöglicht, Ihr Problem durch nichts anderes zu reproduzieren, als es in meine Testumgebung zu kopieren/einzufügen. Und ich muss wissen, was das richtige Ergebnis ist, so dass ich einen Weg vorschlagen kann, es zu bekommen. –