XSLT <xsl:for-each> Element
The <xsl:for-each> element allows you to do looping in
XSLT.
The <xsl:for-each> Element
The XSL <xsl:for-each> element can be used to select every XML
element of a specified node-set:
<?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>
|
Note: The value of the select attribute is an XPath
expression.
An XPath expression works like navigating a file system; where a forward slash (/) selects subdirectories.
The result of the transformation above will look like this:
My CD Collection
| Title |
Artist |
| Empire Burlesque |
Bob Dylan |
| Hide your heart |
Bonnie Tyler |
| Greatest Hits |
Dolly Parton |
| Still got the blues |
Gary More |
| Eros |
Eros Ramazzotti |
| One night only |
Bee Gees |
| Sylvias Mother |
Dr.Hook |
| Maggie May |
Rod Stewart |
| Romanza |
Andrea Bocelli |
| When a man loves a woman |
Percy Sledge |
| Black angel |
Savage Rose |
| 1999 Grammy Nominees |
Many |
| For the good times |
Kenny Rogers |
| Big Willie style |
Will Smith |
| Tupelo Honey |
Van Morrison |
| Soulsville |
Jorn Hoel |
| The very best of |
Cat Stevens |
| Stop |
Sam Brown |
| Bridge of Spies |
T`Pau |
| Private Dancer |
Tina Turner |
| Midt om natten |
Kim Larsen |
| Pavarotti Gala Concert |
Luciano Pavarotti |
| The dock of the bay |
Otis Redding |
| Picture book |
Simply Red |
| Red |
The Communards |
| Unchain my heart |
Joe Cocker |
View the XML file,
View the XSL file, and
View the result
Filtering the Output
We can also filter the output from the XML file by adding a criterion to the
select attribute in
the <xsl:for-each> element.
<xsl:for-each select="catalog/cd[artist='Bob Dylan']">
Legal filter operators are:
- = (equal)
- != (not equal)
- < less than
- > greater than
Take a look at the adjusted XSL style sheet:
<?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[artist='Bob Dylan']">
<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>
|
The result of the transformation above will look like this:My CD Collection
| Title |
Artist |
| Empire Burlesque |
Bob Dylan |
View the XML file,
View the XSL file,
View the result
The Ektron Intranet
lets you do everything you need to do on your corporate intranet and everything you want to do... all with just one application.
What can you do with the Ektron Intranet? |

|
Navigate through content, documents, assets, colleagues and workgroups quickly and intuitively with enterprise search |

|
Communicate with friends and colleagues with forums, message boards and corporate blogging using the new Social Networking Platform |

|
Promote collaboration among coworkers in your organization through project workspaces where others can efficiently find information and work together |

|
Personalize your company profile by bookmarking and organizing favorite content, uploading assets, posting photos, blogging, and more |

|
Interact with features like tagging, flagging, wikis and ratings found in the Web 2.0 Toolbox |
 |
Author/edit content, manage navigation, menus, audit trails, workflow and approvals with the best in breed Content Management |
|
|
|
|
See why there are 20,000+ Ektron integrations worldwide. Request an
INSTANT DEMO or download a
FREE TRIAL today. |
|