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
Learn how your website performs under various load conditions
 |
|
WAPT
is a load, stress and performance testing tool for websites and web-based applications.
In contrast to "800-pound gorilla" load testing tools, it is designed to minimize the learning
curve and give you an ability to create a heavy load from a regular workstation.
WAPT is able to generate up to 3000 simultaneously acting virtual users using standard hardware configuration.
Virtual users in each profile are fully customizable. Basic and NTLM authentication methods are supported.
Graphs and reports are shown in real-time at different levels of detail, thus helping to manage the testing process.
Download the free 30-day trial!
|
|