ایکس ایس ایل ٹی <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>

نکته:انتخاب مقدار ویژگی یک عبارت XPath است. این عبارت به طور مشابه عمل می‌کند که در یک سیستم فایل جستجو می‌کند، جایی که براگر می‌تواند برای انتخاب زیرپوشه‌ها استفاده شود.

نتیجه تبدیل مشابه این خواهد بود:

این فایل XML را ببینید،این فایل XSL را ببینید، ونتیجه را مشاهده کنید

فیلتر نتایج

از طریق افزودن یک شرط انتخاب به عنصر <xsl:for-each>، ما همچنین می‌توانیم نتایج خروجی از فایل XML را فیلتر کنیم.

<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 را ببینید،و نتایج را ببینید