ایکس ایس ال ٹی - کلائنٹ

اگر مرورگر شما 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>

اس XML فائل کو دیکھیئے

اور اس کے ساتھ آنے والا 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>
  
  
</xsl:template>
</xsl:stylesheet>

اس XSL فائل کو دیکھیئے

لطفاً دیکھیئے کہ اس XML فائل میں XSL فائل کی منسوبیت نہیں شامل ہے۔

مہم:یہ معنی دیتا ہے کہ XML فائل کو متعدد مختلف XSL اسٹائل شیٹس کا استعمال کیا جاسکتا ہے۔

بrowsر میں 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))



提示:假如您不了解如何编写 JavaScript,请学习我们的《JavaScript 教程》。

第一段代码创建了微软的 XML 解析器的一个实例,然后把 XML 文件载入了内存。第二段代码创建了解析器的另一个实例,然后把这个 XSL 文件载入了内存。最后一行代码使用 XSL 文档转换了 XML 文档,并在浏览器中把结果作为 XHTML 显示出来。任务完成!

کوئی بھی جانو، آئی ای سی میں کیسے چلتی ہے