XSLT - সার্ভারে

কারণ সমস্ত ব্রাউজারই 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>

এই এক্সএসএল ফাইল দেখুন

লক্ষ্য করুন, এই XML ফাইলটি এক্সএসএল ফাইলের উল্লেখ নেই

গুরুত্বপূর্ণ বিষয়:এই বাক্য বলছে, XML ফাইলটি বিভিন্ন এক্সএসএল স্টাইলশিপকে রূপান্তরিত করা সম্ভব

সার্ভারে XML-কে XHTML-এ রূপান্তরিত করা

এটি হল সার্ভারে XML ফাইলটিকে XHTML-এ রূপান্তরিত করার সোর্স কোড:

<%
লোড এক্সএমএল
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("cdcatalog.xml"))
লোড এক্সএসএল
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("cdcatalog.xsl"))
ট্রান্সফর্ম ফাইল
Response.Write(xml.transformNode(xsl))
%>

সুচনা:আপনি যদি এসপি লিখতে জানতেন না, আমাদেরASP ১০৪

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

请看它如何工作