The <xsl:for-each> Element
The <xsl:for-each> element enables you to loop over a template body, over and over, for all elements of a node set. Technically speaking, it works on a node set returned by an XPath expression, and performs the same operation on each node in the set. Each time you loop over the template body, it’s applied to the next node from the node set, making it easy to handle multiple nodes.
You might have noticed that this description is a lot like the one for the <xsl:apply-templates> element, and I’ll compare <xsl:for-each> and <xsl:apply-templates> in a few pages.
The <xsl:for-each> element has one attribute:
select(mandatory). Set to an XPath expression that returns the node set ...