XSLT - सर्वर पर

क्योंकि सभी ब्राउज़र XSLT का समर्थन नहीं करते, एक अन्य समाधान यह है कि XML से XHTML का रूपांतरण सर्वर पर पूरा किया जाए।

क्रॉस-ब्राउज़र समाधान

पहले के अध्याय में, हमने जानकारी दी है कि कैसे ब्राउज़र में XSLT का उपयोग करके XML से XHTML का रूपांतरण कर सकते हैं। हमने एक जावास्क्रिप्ट समाधान बनाया है जो 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 फ़ाइल को देखें

और सह-एक्सएसएल शैली तालिका:

<?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 में परिवर्तित करने के लिए कोड है:

<%
'लोड 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 शिक्षा

पहला कोड विंडोज के XML पार्सर की एक इंस्टांस बनाता है, फिर XML फ़ाइल को स्मृति में लोड करता है।दूसरा कोड पार्सर की एक और इंस्टांस बनाता है, फिर XSL फ़ाइल को स्मृति में लोड करता है।अंतिम पद कोड XSL दस्तावेज को एक्सेस करता है, XML दस्तावेज को ट्रांसफॉर्म करता है और फल को XHTML के रूप में आपके ब्राउज़र में भेजता है।काम पूरा हुआ!

देखिए कैसे काम करता है