| Using The For-each Element To Loop In XSLT |
| Invention Development Advice - Website Development | |||
|
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.
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 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 XML elements is the "For-each" element. This uses the "select" attribute to specify which element is to be targeted in the loop. The "For-each" element has both an opening and a closing tag and any lines of code 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 input 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, for each company element, we have a "name", "telephone" and "website" element. Before beginning our "For-each" loop, we could output 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 for 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 like, so our bulleted list can take on pretty much any appearance we desire. More information: The author is a trainer and developer with Macresource Computer Training, an independent computer training company offering XML, XSLT, XPATH, XQuery and XSL-FO training courses at their central London training centre.
|