XSLT - ʹsʹvʹr ʹpʹrɛ

কারণ সমস্ত ব্রাউজারই XSLT-এর সমর্থন করে না, আরেকটি সলিউশন হল সার্ভারের উপর থেকে XML-কে XHTML-এ রূপান্তর করা。

ক্রস-ব্রাউজার সলিউশন

সামনের অধ্যায়ে, আমরা ব্রাউজারে XSLT-এর মাধ্যমে XML-কে XHTML-এ রূপান্তর করার কথা বোঝানো।আমরা একটি JavaScript-এর মাধ্যমে XML পার্সার ব্যবহার করে রূপান্তর করেছি।JavaScript সলিউশনটি XML পার্সার না থাকা ব্রাউজারে কাজ করবে না।XML ডাটা কোনও ধরণের ব্রাউজারের জন্য উপযোগী করার জন্য, আমাদের সার্ভারের উপর থেকে XML ডকুমেন্টকে রূপান্তরিত করতে হবে এবং তাকে XHMTL-এর রূপে ব্রাউজারে পাঠাতে হবে。

এটা 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>
  </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"))
'Load XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
ʹxʹsʹl ʹaʹsʹyʹnʹc ʹfʹaʹlʹsʹe
ʹxʹsʹl ʹlɔɁd(ʹsʹeʹrʹvʹe ʹmʹaʹp ʹtʹo(ʹcdcatalog.xslʹ))
ʹTʹrʹaʹnʹsʹfʹoʹrm ʹfʹɪʹlʹe
ʹrʹɛsʹpɔnʹsʹe ʹwʹrɪtʹe(ʹxʹmʹl ʹtʹrʹaʹnʹsʹfʹoʹrm ʹnʹd ʹxʹsʹl)
%>

ʹhʹtʹʹɪf ʹyʹu ʹdʹo ʹnʹt ʹkʹn ʹhʹoʹw ʹtʹo ʹwʹrɪtʹe ʹAʹSʹP, ʹyʹu ʹcʹaʹn ʹlʹeʹaʹrn ʹoʹuʹr ʹ'ʹASP ʹdʹn

ʹfɪʹrʹst ʹkʹoʹd ʹlɪnʹe ʹcʹrʹeʹtʹeʹd ʹa ʹmʹɪsʹt ʹɪʹnʹsʹtʹæns ʹʹf ʹmɪsʹt ʹsʹxʹmʹl ʹpʹrʹɛsʹs ʹrʹeʹsʹoʹlʹvʹəʹr, ʹnʹ ʹtʹhʹe ʹnʹxt ʹlɪnʹe ʹlɪd ʹtʹhʹe ʹfɪʹlʹe ʹbʹe ʹlʹɔɁd ʹɪɴ ʹmʹɛm ʹbʹy ʹtʹhʹe ʹpʹrʹeʹsʹs ʹrʹeʹsʹoʹlʹvʹəʹr. ʹtʹhʹe ʹlɪsʹt ʹlɪnʹe ʹuʹsʹeʹd ʹtʹhʹe ʹxʹsʹl ʹdʹoʹcʹuʹmʹeʹnʹt ʹtʹo ʹtʹrʹaʹnʹsʹfʹoʹrm ʹtʹhʹe ʹxʹmʹl ʹdʹoʹcʹuʹmʹeʹnʹt, ʹnʹ ʹtʹhʹe ʹrʹeʹsʹuʹlt ʹwʹaʹs ʹsʹeʹn ʹtʹo ʹyʹoʹuʹr ʹbʹrʹwʹsʹeʹr ʹwʹiʹtʹh ʹxʹhʹtʹmʹl. ʹtʹhʹe ʹtʹaʹsʹk ʹwʹaʹs ʹcʹoʹmʹpʹlʹɛtʹeʹd!

ʹpʹlɪʹz ʹwʹtʹ ʹɪt ʹwʹɔʹk