Creating Loops With The For-each Element In XSLT
Extensible Stylesheet Language (XSL) is a technology closely related to XML which is used to transform XML data. XML file are used to set out the ground-rules for a given body of data and to describe the data itself. XSL allows us to take the original XML data and convert it into information which can be displayed in a web browser window or opened with a text editor. XSL can also be used to create an XML file which is a modified version of an original XML file.
When displaying XML elements in a browser window, the XSL elements which enable looping through an XML tree and decision-making really come into their own. One of the key methods used in XSL for looping through elements in an XML file is the the "For-each" element. This requires the "select" attribute to specify which element is to be used in the loop. The "For-each" element normally requires both an opening and a closing tag and any lines of markup placed between the opening and closing tags will be repeated each time the element specified in the "select" attribute is encountered in the XML file.
For example, let's say we have an XML file containing a list of companies and the addresses of their websites. Let's also say that the element which we will be targeting in the XSL "For-each" statement is called "company" and that, within each company element, we have a "name", "telephone" and "website" element. Before beginning our "For-each" loop, we could place the opening tag of an HTML "ul" element (an unordered or bulleted list).
Inside the "For-each" loop, we could output an HTML "li" element and, between its opening and closing tags, output the contents of the "name" and "telephone" elements from the XML file. The data in the "website" element in the input XML could be used to convert the "name" into a clickable link.
As regards the appearance of the data in the resulting HTML output, this would be controlled by a linked CSS file. CSS can be used to format the output in any way we desire, so our bulleted list can take on pretty much any appearance we care to give it.
The writer of this article is a developer and trainer with Macresource Computer Training, a UK IT training company offering XML, XSLT, XPATH, XQuery and XSL-FO training courses in London and throughout the UK.
![]() |
Dreamweaver CS3 Dynamic Development List Price: $149.95 Sale Price: $149.95 Used From: $90.00 |
|
In Dreamweaver CS3 Dynamic Development, instructor David Gassner demonstrates how to use Dreamweaver CS3 to create professional, data-driven websites that are interactive and seamlessly integrated. From choosing servers and databases to installing MySQL to designing and building web-based data entry systems and displays, this training provides in-depth, hands-on guidance through the process of building strong dynamic sites... |
|
![]() |
CSS2 Essential Training List Price: $49.95 Sale Price: $49.95 Used From: $31.99 |
|
Whether you're an intranet developer responsible for tens of thousands of pages, or a freelance Web designer operating on the cutting edge of technology, CSS2 is an important tool for your toolbox. Designed specifically for those who have a clear understanding of HTML, this hands-on training CD-ROM will teach you how Cascading Style Sheets can be used to achieve a new level of fine-grain control over Web design... |
|
![]() |
Employee Training & Development Sale Price: $97.45 Used From: $98.00 |
|
Raymond Noe’s Employee Training and Development sets the standard in this course area. First introduced in 1998, ETD became the market-defining text within 6 months of publication. Its popularity is due to its lively writing style and relevant examples of the most up-to-date developments in training, research and practice, including the strategic role of training and the use of new technologies in training... |
|
![]() |
ColdFusion MX Essential Training List Price: $149.95 Sale Price: $149.95 |
|
ColdFusion is a technology that enables you to build sophisticated Web applications quickly and efficiently. It uses a markup language similar to HTML, so the learning curve is short, but don’t let that fool you... |
|












Leave a Reply