Đлемент <xsl:for-each> của XSLT
- Trang trước XSLT <value-of>
- Trang tiếp theo XSLT <xsl:sort>
Phần tử <xsl:for-each> cho phép bạn lặp lại trong XSLT.
Phần tử <xsl:for-each>
Phần tử <xsl:for-each> được sử dụng để chọn mỗi phần tử XML trong tập hợp phần tử được chỉ định.
<?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>Tập hợp CD của tôi</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>
Ghi chú:select giá trị của thuộc tính là một biểu thức XPath. Biểu thức này hoạt động giống như định vị một hệ thống tệp, nơi dấu斜杠 (/) có thể chọn thư mục con.
Kết quả chuyển đổi ở trên tương tự như thế này:

Lọc kết quả
Bằng cách thêm một biểu thức điều kiện của thuộc tính chọn vào phần tử <xsl:for-each>, chúng ta cũng có thể lọc kết quả đầu ra từ tệp XML.
<xsl:for-each select="catalog/cd"[artist='Bob Dylan']">
operators lọc hợp lệ:
- = (equal)
- != (not equal)
- < (less than)
- > (greater than)
<?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>Tập hợp CD của tôi</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>
Kết quả chuyển đổi ở trên tương tự như thế này:

- Trang trước XSLT <value-of>
- Trang tiếp theo XSLT <xsl:sort>