誰でも助けることができますか?私は XSLT に非常に慣れていないので、要素のテーブルを作成しようとしています。以下の例を簡略化し、3 つのセルの行に出力を取得することができましたが、行間に不要な空白ができています。
<apply-templates />
また、Rows Matchには 2 つ必要ですか?
よろしくお願いします、アレックス
これは XML です。
<?xml version="1.0" encoding="iso-8859-1"?>
<products>
<r t='title1'>...</r>
<r t='title2'>...</r>
<r t='title3'>...</r>
<r t='title4'>...</r>
<r t='title5'>...</r>
<r t='title6'>...</r>
<r t='title7'>...</r>
<r t='title8'>...</r>
<r t='title9'>...</r>
</products>
これは XSL です:
<!-- Rows -->
<xsl:template match="r[position() mod 3 = 1]">
<div class="row">
<xsl:apply-templates mode="cell" select="." />
<xsl:apply-templates mode="cell" select="./following-sibling::r[not(position() > 2)]" />
</div>
</xsl:template>
<!-- Cells -->
<xsl:template match="r" mode="cell">
<div class="cell">
<xsl:value-of select="@t"/>
</div>
</xsl:template>
私の出力(行間の不要な空白に注意してください):
<div class="row">
<div class="cell">Title1</div>
<div class="cell">Title2</div>
<div class="cell">Title3</div>
</div>
<div class="row">
<div class="cell">Title4</div>
<div class="cell">Title5</div>
<div class="cell">Title6</div>
</div>
<div class="row">
<div class="cell">Title7</div>
<div class="cell">Title8</div>
<div class="cell">Title9</div>
</div>