एक्सएसएलटी - क्लायंट पर
- पिछला पृष्ठ XSLT Apply
- अगला पृष्ठ सर्वर पर XSLT
अगर आपका ब्राउज़र एक्सएसएलटी का समर्थन करता है, तो इसे ब्राउज़र में दस्तावेज़ को एक्सएचटीएमएल में ट्रांसफॉर्म करने के लिए उपयोग किया जा सकता है。
जेसक्रिप्ट समाधान
पहले के अध्याय में, हमने आपको एक एक्सएमएल दस्तावेज़ को एक्सएचटीएमएल में ट्रांसफॉर्म करने के लिए एक्सएसएलटी का उपयोग करने के बारे में बताया है। हमने इस काम को निचे के तरीके से किया है: एक्सएमएल फ़ाइल में एक्सएसएल शैली पट्टी जोड़ें और ब्राउज़र के द्वारा ट्रांसफॉर्मेशन करें。
यह तरीका बहुत अच्छा लगता है, लेकिन एक्सएमएल फ़ाइल में शैली पट्टी के संदर्भ को लिखना हमेशा भी संतोषजनक नहीं होता है (उदाहरण के लिए, जब ब्राउज़र एक्सएसएलटी को पहचान नहीं करता है तो यह तरीका काम नहीं करेगा)。
एक अधिक सामान्य तरीका जेसक्रिप्ट का उपयोग करके ट्रांसफॉर्मेशन करना है。
जेसक्रिप्ट का उपयोग करके हम इस प्रकार कर सकते हैं:
- ब्राउज़र पुष्टि टेस्ट करें
- ब्राउज़र और उपयोगकर्ता की आवश्यकताओं के अनुसार विभिन्न शैली पट्टियाँ उपयोग करें
यही ही एक्सएसएलटी की आकर्षकता है! एक्सएसएलटी के डिजाइन उद्देश्यों में से एक एक फॉर्मेट से दूसरे फॉर्मेट के रूपांतरण को संभव बनाना है, साथ ही विभिन्न प्रकार के ब्राउज़र और विभिन्न उपयोगकर्ता आवश्यकताओं को समर्थित करना है。
ब्राउज़र की एक्सएसएलटी ट्रांसफॉर्मेशन भविष्य में ब्राउज़र द्वारा किये जाने वाले मुख्य कार्यों में से एक होगी, और हम इसके विशिष्ट ब्राउज़र बाजार में (ब्रेल, नेटवर्क प्रिंटर, श्रवण उपकरण, आदि) वृद्धि को भी देखेंगे。
XML फ़ाइल और XSL फ़ाइल
इससे पहले के अध्याय में प्रदर्शित हुए इस XML दस्तावेज़ को देखिए:
<?xml version="1.0" encoding="ISO-8859-1"?> <catalog> <cd> <title>एम्पायर बर्लेस्क</title> <artist>बॉब डिलन</artist> <country>अमेरिका</country> <company>कोलंबिया</company> <price>10.90</price> <year>1985</year> </cd> . . . </catalog>
और सह-एक्सएसएल शैली पट्टीयाँ:
<?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>मेरी सीडी संग्रह</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 फ़ाइल में XSL फ़ाइल के संदर्भ शामिल नहीं हैं。
महत्वपूर्ण बात:इस वाक्य का मतलब है कि XML फ़ाइल को कई विभिन्न XSL स्टाइल शीटों के द्वारा ट्रांसफॉर्म किया जा सकता है。
ब्राउज़र में XML को एक्सएचटीएमएल में ट्रांसफॉर्म करें
यह XML फ़ाइल को क्लायंट पर एक्सएमएल फ़ाइल को एक्सएचटीएमएल में ट्रांसफॉर्म करने के लिए स्रोत कोड है:
<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>
सूचना:अगर आप जावास्क्रिप्ट लिखने के बारे में नहीं जानते, तो हमारे《जावास्क्रिप्ट ट्यूटोरियल》。
पहला कोड माईक्रोसॉफ्ट के XML पार्सर की एक इंस्टांस बनाता है और फिर XML फ़ाइल को स्मृति में लाडता है। दूसरा कोड पार्सर की एक और इंस्टांस बनाता है और फिर इस XSL फ़ाइल को स्मृति में लाडता है। अंतिम पद एक XSL दस्तावेज़ के द्वारा XML दस्तावेज़ को ट्रांसफॉर्म करता है और ब्राउज़र में परिणाम को XHTML के रूप में दिखाता है। कार्य पूरा हुआ!
- पिछला पृष्ठ XSLT Apply
- अगला पृष्ठ सर्वर पर XSLT