एक्सएसएलटी - सर्वर पर

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

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

पहले अध्याय में हमने बताया है कि कैसे ब्राउज़र में XSLT का उपयोग करके XML से XHTML का रूपांतरण कर सकते हैं। हमने एक रूपांतरण के लिए XML पार्सर का उपयोग करने वाला JavaScript बनाया है। 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")
xsl.async = false
xsl.load(Server.MapPath("cdcatalog.xsl"))
'Transform file
Response.Write(xml.transformNode(xsl))
%>

सूचना:अगर आप एएसपी लिखना नहीं जानते हैं, तो हमारेएएसपी ट्यूटोरियल}

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

देखें कैसे काम करता है