Najnowsze tutoriale tworzenie stron internetowych
 

XSLT <xsl:for-each> Element


<xsl:for-each> Element pozwala na wykonywanie pętli w XSLT.


<xsl:for-each> Element

XSL <xsl:for-each> element może być używany, aby wybrać każdy element XML określony zestaw węzłów:

Przykład

<?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>
Spróbuj sam "

Note: Wartość select atrybut jest wyrażeniem XPath. Wyrażenie XPath działa jak nawigacyjnych systemu plików; gdzie ukośnik (/) wybiera podkatalogów.


Filtrowanie Output

Możemy również filtrować wyjście z pliku XML przez dodanie kryterium do select atrybut w <xsl:for-each> elementu.

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

Prawne operatorzy filtry są:

  • = (Równe)
  • ! = (not equal)
  • I LT; mniej niż
  • & Gt; lepszy niż

Spójrz na skorygowanej arkusza stylów XSL:

Przykład

<?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>
Spróbuj sam "