Elemento <xsl:for-each> ng XSLT

Ang elemento ng <xsl:for-each> ay nagbibigay sa iyo ng kapangyarihan para sa pagloop sa XSLT.

Elemento ng <xsl:for-each>

Ang elemento ng <xsl:for-each> ay maaaring gamitin upang piniliin ang bawat elemento ng tinukoy na node set.

<?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>Ang Aking Koleksyon ng CD</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>

Komento:select Ang halaga ng propyedade ay isang ekspresyong XPath. Ang paraan ng paggagamit nito ay katulad ng paghahanap ng isang file system kung saan ang malawakang tuldok ay maaring pinili ang mga subdirectory.

Ang resulta ng pagbabagong ito ay kapareho nito:

Tingnan ang XML file na ito,Tingnan ang XSL file na itoatTingnan ang mga resulta.

Pagsusuri ng mga resulta

Sa pamamagitan ng pagdagdag ng isang patungkol sa halaga ng seleksyon sa elemento ng <xsl:for-each>, maaari rin naming pagsusuri ang mga resulta ng paglabas mula sa XML na file.

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

Legal na operator ng pagsusuri:

  • =  (magkapareho)
  • != (hindi magkapareho)
  • < (mas maliit)
  • > (hindi mas maliit)
<?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>Ang Aking Koleksyon ng CD</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>

Ang resulta ng pagbabagong ito ay kapareho nito:

Tingnan ang XML file na ito,Tingnan ang XSL file na ito,at tingnan ang resulta.