XSLT <xsl:for-each>องค์ประกอบ
<xsl:for-each> องค์ประกอบช่วยให้คุณสามารถวนซ้ำใน XSLT
<xsl:for-each> องค์ประกอบ
องค์ประกอบ XSL <xsl:for-each> สามารถใช้เพื่อเลือกทุกองค์ประกอบ XML ของชุดโหนดที่ระบุ:
ตัวอย่าง
<?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>
หมายเหตุ:ค่าของ แอตทริบิวต์ selectคือนิพจน์ XPath นิพจน์ XPath ทำงานเหมือนกับการนำทางระบบไฟล์ โดยที่เครื่องหมายทับ (/) เลือกไดเรกทอรีย่อย
การกรองเอาท์พุต
นอกจากนี้เรายังสามารถกรองเอาต์พุตจากไฟล์ XML โดยเพิ่มเกณฑ์ให้กับแอตทริบิวต์ select ในองค์ประกอบ <xsl:for-each>
<xsl:for-each select="catalog/cd[artist='Bob Dylan']">
ตัวดำเนินการตัวกรองทางกฎหมายคือ:
- = (เท่ากับ)
- != (ไม่เท่ากัน)
- < น้อยกว่า
- > มากกว่า
ดูสไตล์ชีต XSL ที่ปรับแล้ว:
ตัวอย่าง
<?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>