複数のノードに対し、テンプレートを繰り返し適用する。
<xsl:for-each order-by="sort-criteria-list" select="pattern" >
- order-by
- ソート法をセミコロンで区切られたリストで指定する。最初のソート法による結果が等しい時、次のソート法がチェックされ、それでも等しい時更に次のソート法がチェックされ、というように適用される。個々のソート法の先頭の空白文字以外の文字で、ソートが昇順(+ 省略可)か降順(-)かを指定する。ソート法は、XSLパターンで表現され、select 属性で記述されるパターンに対して適用される。
- select
- テンプレートが実行されるべきコンテキストを指定する。デフォルト値"node()"は、カレント・ノードの子供で、属性以外の全てのノード・タイプを選択することを示す。
親に含めるエレメント数 制限なし 親となるエレメント xsl:attribute, xsl:comment, xsl:copy, xsl:element, xsl:for-each, xsl:if, xsl:otherwise, xsl:pi, xsl:template, xsl:when, output elements 子となるエレメント xsl:apply-templates xsl:attribute, xsl:choose, xsl:comment, xsl:copy, xsl:element, xsl:eval, xsl:for-each, xsl:if, xsl:pi, xsl:value-of, output elements
xsl:for-each エレメントは、反復のコンテキストを定義する。ループの中のXSL変換指示が、選択されたノードに適用される。xsl:for-each 内でマッチしたパターンに対しては、xsl:for-each で選択されたソース・エレメントのそれぞれが、新しいコンテキストとなる。
order-by 属性の構文は、既に撤廃されているので、注意せよ。December XSL Working Draft では、代りに xsl:sort エレメントが定義されている。将来のリリースで正式の構文をサポートする予定である。