एक्सएसएलटी - सर्वर पर
- पिछला पृष्ठ एक्सएसएलटी क्लायंट में
- अगला पृष्ठ एक्सएसएलटी एक्सएमएल को संपादित करें
क्योंकि सभी ब्राउज़र 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>
और सहीब 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 फ़ाइल में 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)) %>
सूचना:अगर आप एएसपी लिखना नहीं जानते हैं, तो हमारेएएसपी ट्यूटोरियल}
पहला कोड विंडोज़ के एक्सएमएल पार्सर के एक इंस्टैंस को बनाता है, फिर एक्सएमएल फ़ाइल को स्मृति में लाया।दूसरा कोड पार्सर के एक और इंस्टैंस को बनाता है, फिर एक्सएसएलटी फ़ाइल को स्मृति में लाया।अंतिम पद एक्सएसएलटी डॉक्यूमेंट को एक्सएमएल डॉक्यूमेंट को ट्रांसफॉर्म करता है, फिर एक्सएचटीएमएल के रूप में आपके ब्राउज़र में भेजता है।काम पूरा हुआ!
- पिछला पृष्ठ एक्सएसएलटी क्लायंट में
- अगला पृष्ठ एक्सएसएलटी एक्सएमएल को संपादित करें