एक्सएसएलटी - क्लायंट

अगर आपका ब्राउज़र XSLT का समर्थन करता है, तो इसे ब्राउज़र में दस्तावेज़ को XHTML में बदलने के लिए इस्तेमाल किया जा सकता है。

जेसक्रिप्ट समाधान

पूर्व के अध्याय में, हमने आपको XSLT के द्वारा किसी XML दस्तावेज़ को XHTML में बदलने के तरीके से बताया है। हमने इस काम को निम्नलिखित तरीके से पूरा किया: XML फ़ाइल में XSL स्टाइल शीट जोड़ें और ब्राउज़र के द्वारा ट्रांसफॉर्मेशन पूरा करें。

यहीं तक कि इस विधि का प्रभावी होने के बावजूद, एक XML फ़ाइल में स्टाइल शीट संदर्भ शामिल करना हमेशा भी संतोषजनक नहीं होता है (उदाहरण के लिए, जहां XSLT को पहचाना नहीं जाता है, इस विधि को इस्तेमाल नहीं किया जा सकता है)。

एक अधिक सामान्य विधि जेसक्रिप्ट का उपयोग करके ट्रांसफॉर्मेशन पूरा करना है。

जेसक्रिप्ट का उपयोग करके हम इस प्रकार कर सकते हैं:

  • ब्राउज़र पुष्टि परीक्षण करें
  • ब्राउज़र और उपयोगकर्ता की आवश्यकताओं के अनुसार विभिन्न स्टाइल शीटों का उपयोग करें

यही XSLT की आकर्षकता है! XSLT के डिजाइन उद्देश्यों में से एक एक फॉर्मेट से दूसरे फॉर्मेट के रूपांतरण को संभव बनाना है, साथ ही विभिन्न प्रकार के ब्राउज़रों और विभिन्न उपयोगकर्ता आवश्यकताओं को समर्थित करना है。

ब्राउज़र कंप्यूटर पर XSLT ट्रांसफॉर्मेशन भविष्य के ब्राउज़रों द्वारा किये जाने वाले मुख्य कार्यों में से एक होगा, और हम इसके विशिष्ट ब्राउज़र बाजार (ब्रेल, नेटवर्क प्रिंटर, श्रवण उपकरण, आदि) में वृद्धि को भी देखेंगे。

XML फ़ाइल और XSL फ़ाइल

इस पूर्व की अध्यायों में प्रदर्शित हुए XML दस्तावेज़ को देखिए:

<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
  <cd>
    <title>एम्पायर बुर्लेस्क</title>
    <artist>बॉब डिलन</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 में बदलने के लिए क्लायंट पर उपयोग करने वाला स्रोत कोड है:

<html>
<body>
<script type="text/javascript">
// Load XML 
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("cdcatalog.xml")
// Load XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("cdcatalog.xsl")
// Transform
document.write(xml.transformNode(xsl))
</script>
</body>
</html>

सूचना:अगर आप जावास्क्रिप्ट लिखना नहीं जानते, तो हमारेजावास्क्रिप्ट ट्यूटोरियल》。

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

देखिए यह आईई में कैसे काम करता है