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 표현식은 파일 시스템 탐색처럼 작동합니다. 여기서 슬래시(/)는 하위 디렉토리를 선택합니다.
출력 필터링
<xsl:for-each> 요소의 select 속성에 기준을 추가하여 XML 파일의 출력을 필터링할 수도 있습니다.
<xsl:for-each select="catalog/cd[아티스트='밥 딜런']">
유효한 필터 연산자는 다음과 같습니다.
- = (같음)
- != (같지 않음)
- < 미만
- > ~보다 큰
조정된 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>