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 tập hợp nút được chỉ định:
Ví dụ
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="https://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>
Hãy tự mình thử »Lưu ý: Giá trị của thuộc tính select là 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 lên (/) chọn các thư mục con.
Lọc đầu ra
Chúng ta 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']">
Toán tử lọc hợp pháp là:
- = (bằng)
- != (không bằng)
- < ít hơn
- > lớn hơn
Hãy xem biểu định kiểu XSL đã điều chỉnh:
Ví dụ
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="https://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>
Hãy tự mình thử »