عنصر <xsl:for-each> في XSLT
- الصفحة السابقة XSLT <value-of>
- الصفحة التالية XSLT <xsl:sort>
يسمح لك عنصر <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>جمعية الديسكات</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 هذا، وأيضاًعرض النتائج.
تصفية النتائج
من خلال إضافة شرط لاختيار الخاصية في عنصر <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>جمعية الديسكات</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 هذا,وأنظر إلى النتائج.
- الصفحة السابقة XSLT <value-of>
- الصفحة التالية XSLT <xsl:sort>