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 مرتبط با آن:
<?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 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 استیلوں کے ذریعے تبدیل کیا جاسکتا ہے。
براوزر میں 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>
نکات:اگر آپ جسٹسکریپت لکھنا نہیں جانتے تو اپنے لیے ہماراجسٹسکریپت تربیت》。
پہلے کد میں میکروسافٹ کا ایک ایکسیمپل XML پارسیکر بنایا گیا ہے، اور اس کا XML فائل ذہن میں لایا گیا ہے۔ دوسرے کد میں ایک دوسرے پارسیکر کا ایکسیمپل بنایا گیا ہے، اور اس کو اس XSL فائل کو ذہن میں لایا گیا ہے۔ آخری سطر میں XSL ڈاکومنٹ کا XML ڈاکومنٹ کو تبدیل کیا گیا ہے، اور نتائج کو براوزر میں HTML نمائش کیا گیا ہے۔ کام مکمل ہوا!
- صفحه قبل Apply XSLT
- صفحه بعدی XSLT در سرور