Phần tử XSLT <xsl: for-each>
Phần tử <xsl: for-each> cho phép bạn thực hiện lặp trong XSLT.
Phần tử <xsl: for-each>
Phần tử XSL <xsl: for-each> có thể được sử dụng để chọn mọi phần tử XML của một tập hợp nút cụ thể:
Thí dụ
<?xml version="1.0" encoding="UTF-8"?>
<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>
Lưu ý: Giá trị của thuộc tính select là một biểu thức XPath. Biểu thức XPath hoạt động giống như điều hướng một hệ thống tệp; trong đó dấu gạch chéo (/) chọn các thư mục con.
Lọc đầu ra
Chúng tôi cũng có thể lọc đầu ra từ tệp XML bằng cách thêm tiêu chí vào thuộc tính select trong phần tử <xsl: for-each>.
<xsl: for-each select = "catalog / cd [artist = 'Bob Dylan']">
Các toán tử bộ lọc hợp pháp là:
- = (bằng nhau)
- ! = (không bằng)
- & lt; ít hơn
- & gt; lớn hơn
Xem qua biểu định kiểu XSL đã điều chỉnh:
Thí dụ
<?xml version="1.0" encoding="UTF-8"?>
<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>