<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>