XSLT در مشتری
- صفحه قبلی اعمال 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 مرتبط با آن:
<?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 نیست.
مatters important:این جمله به این معناست که فایل XML میتواند با استفاده از چندین XSL نمونهسازی شود.
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 در مرورگر نمایش میدهد. وظیفه به پایان رسید!
- صفحه قبلی اعمال XSLT
- صفحه بعدی XSLT در سرور