XSLT <xsl:for-each> Element

From http://www.w3schools.com (Copyright Refsnes Data)

# XSLT <xsl:for-each> Element

Complete XSLT Element Reference

## Definition and Usage

The <xsl:for-each> element loops through each node in a specified node set.

## Syntax

    <xsl:for-each
    select="expression">

      <!-- Content:(xsl:sort*,template) -->

    </xsl:for-each>

## Attributes

Attribute | Value | Description
--- | --- | ---
select | expression | Required. The node set to be processed

### Example 1

Loop through each "cd "element and use <xsl:value-of> to write each title and artist to the output:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template match="/">
      <html>
      <body>
        <h2>My CD Collection</h2>
        <table border="1">
          <tr bgcolor="#9acd32">
            <th>Title</th>
            <th>Artist</th>
          </tr>
          <xsl:for-each select="catalog/cd">
          <tr>
            <td><xsl:value-of select="title"/></td>
            <td><xsl:value-of select="artist"/></td>
          </tr>
          </xsl:for-each>
        </table>
      </body>
      </html>
    </xsl:template>

    </xsl:stylesheet>

View the XML file, View the XSL file, and View the result.

### Example 2

Loop through each "cd "element and use <xsl:value-of> to write each title and artist to the output (sorted by artist):

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template match="/">
      <html>
      <body>
        <h2>My CD Collection</h2>
        <table border="1">
          <tr bgcolor="#9acd32">
            <th>Title</th>
            <th>Artist</th>
          </tr>
          <xsl:for-each select="catalog/cd">
          <xsl:sort select="artist"/>
          <tr>
            <td><xsl:value-of select="title"/></td>
            <td><xsl:value-of select="artist"/></td>
          </tr>
          </xsl:for-each>
        </table>
      </body>
      </html>
    </xsl:template>

    </xsl:stylesheet>

View the XML file, View the XSL file, and View the result.

Complete XSLT Element Reference

From http://www.w3schools.com (Copyright Refsnes Data)