XSLT - کاربر
- صفحه قبلی apply XSLT
- صفحه بعدی XSLT در سرور
اگر مرورگر شما XSLT را پشتیبانی کند، میتوان از آن در مرورگر برای تبدیل مستند به XHTML استفاده کرد.
راهحل JavaScript
در فصلهای قبلی، ما به شما آموزش دادیم که چگونه با استفاده از XSLT یک فایل XML را به XHTML تبدیل کنیم. ما این کار را از طریق اضافه کردن شتابدهنده XSL به فایل XML و تبدیل توسط مرورگر انجام دادیم.
اگرچه این روش به خوبی عمل میکند، اما همیشه قرار دادن مراجعه به استایلها در فایل XML رضایتبخش نیست (مثلاً در مرورگرهایی که XSLT را نمیشناسند، این روش کار نمیکند).
روش کلیتر استفاده از JavaScript برای انجام تبدیل است.
با استفاده از JavaScript، میتوانیم:
- انجام تست تأیید مرورگر
- استفاده از شتابدهندههای مختلف برای استایلها بر اساس نیاز مرورگر و کاربر
این جایی است که جاذبه XSLT نهفته است! یکی از اهداف طراحی XSLT امکان تبدیل یک فرمت به فرمت دیگر است، در حالی که از انواع مختلف مرورگرها و نیازهای کاربران پشتیبانی میکند.
تغییرات XSLT در مرورگرهای وب یکی از وظایف اصلی مرورگرهای آینده خواهد بود، و همچنین ما افزایش آن در بازارهای خاص مرورگرها را مشاهده خواهیم کرد (نوبرها، چاپگرهای اینترنتی، وسایل شنیداری و غیره).
فایلهای XML و XSL
لطفاً به این مستند XML که در فصلهای قبلی نمایش داده شده، نگاه کنید:
<?xml version="1.0" encoding="ISO-8859-1"?> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> . . . </catalog>
و همچنین XSL stylesheet همراه آن:
<?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 align="left">Title</th> <th align="left">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>
لطفاً توجه داشته باشید که این فایل XML شامل ارجاع به فایل XSL نیست.
موضوع مهم:این جمله به این معناست که فایل XML میتواند با استفاده از چندین XSL stylesheet مختلف تبدیل شود.
XML را در مرورگر به XHTML تبدیل کنید
این کد منبعی است که برای تبدیل فایل XML به XHTML در سرور استفاده میشود:
<html> <body> <script type="text/javascript"> // Load XML var xml = new ActiveXObject("Microsoft.XMLDOM") xml.async = false xml.load("cdcatalog.xml") // Load XSL var xsl = new ActiveXObject("Microsoft.XMLDOM") xsl.async = false xsl.load("cdcatalog.xsl") // Transform document.write(xml.transformNode(xsl)) </script> </body> </html>
توجه:اگر شما نمیدانید چگونه JavaScript بنویسید، لطفاً ازآموزشهای JavaScript》。
کد اول یک نمونه از تحلیلگر XML مایکروسافت را ایجاد میکند و سپس فایل XML را به حافظه بارگذاری میکند. کد دوم یک نمونه دیگر از تحلیلگر ایجاد میکند و سپس این فایل XSL را به حافظه بارگذاری میکند. آخرین خط کد از مستند XSL برای تبدیل مستند XML استفاده میکند و نتایج را به عنوان XHTML در مرورگر نمایش میدهد. کار انجام شد!
- صفحه قبلی apply XSLT
- صفحه بعدی XSLT در سرور