XSLT - روی سرور

XSLT کا استعمال نہ کراتی تمام براوزرز کی وجہ سے، ایک دوسرا حل یہ ہے کہ XML سے XHTML کو تبدیل کا کام سرور پر کیا جائے۔

کros براوزر حل

سابق فصل میں، ہم نے بروزر میں XSLT کا استعمال سے XML سے XHTML کو تبدیل کرنے کا طریقہ بتایا ہے، جس میں ہم نے XML پارسی کا ایک جاوا اسکریپٹ بنایا تھا، جو براوزر میں XML پارسی کے بغیر چلنے والا نہیں تھا، تاکہ XML ڈاٹا کو تمام قسم کی براوزرز کے لئے استعمال کیا جاسکے، وہاں سرور پر XML ڈاکومن کو تبدیل کیا جائے اور اس کو بروزر کے لئے XHMTL کے طور پر بھیج دیا جائے۔

یہ ایک مزید فائدہ ہے، جو 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>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

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

توجہ دیئے، اس XML فائل میں XSL فائل کی رجوع نہیں شامل ہے。

مهم امور:یہ بات کہتی ہے کہ XML فائل کو متعدد مختلف XSL اسٹائل شیٹس کے ذریعے تبدیل کیا جاسکتا ہے。

سرور پر XML کو XHTML میں تبدیل کیا جاتا ہے

یہ سرور پر XML فائل کو XHTML میں تبدیل کرنے والی منبع کوائنٹ کا مطلب ہے:

<%
'Load XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("cdcatalog.xml"))
بارگذاری XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("cdcatalog.xsl"))
فایل تبدیل
Response.Write(xml.transformNode(xsl))
%>

تذکر:اگر نمی‌دانید چگونه ASP بنویسید، می‌توانید از کتاب ما استفاده کنید:آموزش ASP».}

کد اولین یک نمونه از تحلیل‌گر XML مایکروسافت را ایجاد می‌کند و سپس فایل XML را به حافظه بارگذاری می‌کند. کد دومین یک نمونه دیگر از تحلیل‌گر ایجاد می‌کند و سپس این فایل XSL را به حافظه بارگذاری می‌کند. آخرین خط کد از مستند XSL فایل XML را تبدیل می‌کند و نتیجه را به عنوان XHTML به مرورگر شما ارسال می‌کند. کار انجام شد!

ببینید که چگونه کار می‌کند.