با سلام خدمت کاربران گرامی سایت پی وی لرن و علاقمندان و کاربرانی که علاقمند به یادگیری دوره XML هستند. در جلسه گذشته با عنصر for-each آشنا شدیم در ادامه این دوره شما را به آموزش کار با عنصر if در XSLT دعوت می نماییم.
تاکنون با چهار نوع عنصر اساسی در XSLT آشنا شدیم.
عنصر template که از آن برای ساخت templates ها استفاده می گردد.
از عنصر template برای مرتبط ساختن یک template به عنصر XML از match attribute استفاده می شود.
بنارین match attribute می تواند برای تعیین یک template برای کل سند XML استفاده شود.
مقدار یک match attribute در یک عبارت XPath (یعنی match = “/” کل سند را تعریف می کند).
عنصر value–of که آن برای استخراج ارزش گره انتخاب شده استفاده می شود.
عنصر for–each که به شما اجازه می دهد که در XSLT حلقه ایجاد نمایید یا اصطلاحاً به looping بپردازید.
عنصر دیگری که در جلسه پیش به آن پرداختیم عنصر sort بود که بر طبق آموخته های این جلسه آموختیم که در XSLT سعی می شود برای مرتب سازی خروجی از عنصر ها کمک گرفت و خروجی ها را را به کمک این عنصر نظم و ترتیب بخشید.
این عنصر مورد استفاده عنصر sort یا به عبارت بهتر <xsl: sort>> است که به مرتب سازی اطلاعات خروجی کمک می کند.
طبق سبک و سیاق جلسات پیش به معرفی و تشریح عنصر if می پردازیم.
XSLT نیاز دارد که محتویات فایل XML را مورد بررسی قرار دهد
برای این کار XSLT از یکی دیگر از عنصر های موجودی که دارد بهره می برد.
این عنصر، عنصر عنصر <xsl: if> است که از یک تست شرطی یا conditional test استفاده می کند تا بتواند محتویات یک فایل XML را مورد بررسی قرار دهد.
در ادامه به شما می آموزیم که چگونه می توان یک conditional if test را درون یک فایل XML قرار داد و عنصر <xsl: if> را به سند XSL اضافه نمود.
1 2 3 | <xsl:if test="expression"> ...some output if the expression is true... </xsl:if> |
برای اضافه کردن یک conditional test، عنصر <xsl: if> را درون عنصر <xsl: for-every> و در فایل XSL اضافه کنید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <?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> <th>Price</th> </tr> <xsl:for-each select="catalog/cd"> <xsl:if test="price > 10"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> <td><xsl:value-of select="price"/></td> </tr> </xsl:if> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> |
مقدار test attribute مورد نظر حاوی عبارتی است که باید ارزیابی شود.
کد بالا فقط عناوین و عناصر هنرمند سی دی ها را که دارای قیمت بالاتری از ۱۰ است، منتشر می کند.
در این جلسه آموزش کار با عنصر if در XSLT به علاقمندان این دوره ارائه شد.
در جلسه بعدی شما را با عنصر choose آشنا می نماییم.
با پی وی لرن همراه باشید.