XSLT <xsl:for-each> 요소

<xsl:for-each> 요소는 XSLT에서 반복을 허용합니다.

<xsl:for-each> 요소

<xsl:for-each> 요소는 지정된 노드 집합의 각 XML 요소를 선택할 수 있습니다.

<?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>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 표현식입니다. 이 표현식은 파일 시스템에서 위치를 찾는 방식과 유사하며, 역호칸은 서브 디렉토리를 선택할 수 있습니다.

위의 변환 결과는 이렇게 보입니다:

이 XML 파일을 확인하십시오이 XSL 파일을 확인하십시오결과 확인

결과 필터링

XML 파일에서의 출력 결과를 필터링하려면 <xsl:for-each> 요소에 선택 속성의 판단식을 추가할 수 있습니다.

<xsl:for-each select="catalog/cd"[artist='Bob Dylan']">

유효한 필터 연산자:

  • =  (일치)
  • != (불일치)
  • < (소)
  • > (대여)
<?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>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>

위의 변환 결과는 이렇게 보입니다:

이 XML 파일을 확인하십시오이 XSL 파일을 확인하십시오결과를 확인하십시오