値のグループをループして2列のテーブルに出力する必要があります。私は、次の解決策について考えXSLTを使用した動的HTMLテーブル
が
<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>
(xslt1でなければなりません)私は今、私はクローズ<tr>
または開口部</tr>
が必要になるかどうかを調べるためにposition()
を使用していたコードを変更しました。
XSLTに単一のタグを書き込めないという問題が全体的に要約されることがあります。そして、disable-output-escaping
は機能しません。
結果のHTMLは、グループ内のすべてのノードのhttps://jsfiddle.net/dwetctm6/
でなければなりません。テーブル内のノードの順序は関係ありません。 (横断最初またはダウン最初の)順序は問題ではない場合は特に - 非常に簡単である2列のテーブルにノードを分割
<bgroup> <NODE1>text</NODE1> <NODE2>text</NODE2> <NODE n-1>text</NODE n-1> <NODE n>text</NODE n> </bgroup>
入力、実行可能なスタイルシート、および予想される結果を含む**再現可能な**例を投稿してください - [mcve] –
私はすべてのデータを欲しいと思っています。私は2列のテーブルが必要です。あなたがコードを見ていればそれは明確ではありませんか?不明な点は? – Jan
私はあなたのデータを**すべて**にしたくありません。私はテスト環境にコピー/貼り付けするだけで、問題を再現するのに十分なコードが必要です。正しい結果が何であるかを知る必要があるので、私はそれを得る方法を提案することができます。 –