大量の列を含むデータベース テーブルがあるため、それらを XSLT で表示するには、すべての列名をループして元に戻し、それらの列名に対応するすべてのデータを表示する必要があります。
<table class="list">
<tr>
<xsl:for-each select="Columns">
<th>
<xsl:value-of select="Name"/>
</th>
</xsl:for-each>
</tr>
<xsl:for-each select="Clients">
<tr>
<xsl:for-each select="/List/Columns">
<xsl:variable name="var" select="Name"></xsl:variable>
<td>
<xsl:value-of select="$var"/>|
<xsl:value-of select="/List/Clients/*[$var]"/>
</td>
</xsl:for-each>
</tr>
</xsl:for-each>
</table>
テーブル 'Columns' には列名が返され、テーブル 'Clients' には各列のデータが含まれます。上記のコードは、すべての異なる列名を正常に表示します。しかし、データを取得してループに含めて表示しようとすると<xsl:value-of select="/List/Clients/*[$var]"/>
、最初の列のデータのみが返されます。