<xsl:for-each> 要素

セット内の各ノードにテンプレートを繰り返し適用します。

<xsl:for-each
  select = Expression
</xsl:for-each>

属性

  • select
    必須。 反復処理の対象となるノードのセットを決定するために、現在のコンテキストで評価される

要素情報

出現回数

無制限

親要素

xsl:attributexsl:commentxsl:copyxsl:elementxsl:fallback、xsl:for-each、xsl:ifxsl:messagexsl:otherwisexsl:paramxsl:processing-instructionxsl:templatexsl:variablexsl:whenxsl:with-param、出力要素

子要素

xsl:apply-importsxsl:apply-templatesxsl:attributexsl:call-templatexsl:choosexsl:commentxsl:copyxsl:copy-ofxsl:elementxsl:fallback、xsl:for-each、xsl:ifxsl:messagexsl:numberxsl:processing-instructionxsl:sortxsl:textxsl:value-ofxsl:variable

解説

<xsl:for-each> 要素は、反復処理の対象となるコンテキストを確定します。 このループ内の XSLT 変換命令が選択されたノードに適用されます。 <xsl:for-each> によって選択されたソース要素は、新しいコンテキストになり、<xsl:for-each> 内で行われるすべてのパターン照合の対象になります。

この例の XSLT ファイルでは、出力ドキュメントの構造を定義します。 出力は、<BODY> 要素と <TABLE> 要素を含むトップレベルの HTML 要素です。 テーブルに、各顧客に対応する繰り返し行が含まれます。 さらに XSLT ファイルでは、テンプレートを使用して、名前、住所、電話番号のソース要素で必要となる <TD> 要素が作成されます。

XML ファイル (customers.xml)

XSLT ファイル (foreach.xsl)

出力

これは書式付き出力です。

書式付き出力

これはプロセッサ出力です。

<HTML>
<BODY>
<TABLE>
<TR>
<TD>Albert Aikens</TD>
<TD>368 Elm St.</TD>
<TD>(206) 423-4537</TD>
</TR>
<TR>
<TD>Albert Gandy</TD>
...
</TR>
</TABLE>
</BODY>
</HTML>