एक्सएसएलटी - सर्वर पर
XML डेटा को सभी प्रकार के ब्राउज़रों के लिए उपलब्ध कराने के लिए, हम XML दस्तावेज़ को सर्वर पर रूपांतरित कर सकते हैं और इसे ब्राउज़र को XHTML के रूप में वापस भेज सकते हैं।
एक क्रॉस ब्राउज़र समाधान
पिछले अध्याय में हमने बताया था कि कैसे XSLT का उपयोग किसी दस्तावेज़ को XML से XHTML में ब्राउज़र में बदलने के लिए किया जा सकता है। हमने रूपांतरण के लिए एक जावास्क्रिप्ट और एक एक्सएमएल पार्सर का इस्तेमाल किया। हालांकि, यह उस ब्राउज़र में काम नहीं करेगा जिसमें एक्सएमएल पार्सर नहीं है।XML डेटा को सभी प्रकार के ब्राउज़रों के लिए उपलब्ध कराने के लिए, हम सर्वर पर XML दस्तावेज़ को रूपांतरित कर सकते हैं और ब्राउज़र को XHTML के रूप में वापस भेज सकते हैं।
यह एक्सएसएलटी की एक और सुंदरता है। XSLT के लिए डिज़ाइन लक्ष्यों में से एक सर्वर पर डेटा को एक प्रारूप से दूसरे प्रारूप में बदलना संभव बनाना था, सभी प्रकार के ब्राउज़रों को पठनीय डेटा लौटाना।
एक्सएमएल फाइल और एक्सएसएलटी फाइल
पिछले अध्यायों में आपने जो XML दस्तावेज़ देखा है, उसे देखें:
<?xml version="1.0" encoding="UTF-8"?>
<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 version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th style="text-align:left">Title</th>
<th style="text-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>
</xsl:template>
</xsl:stylesheet>
ध्यान दें कि XML फ़ाइल में XSL फ़ाइल का संदर्भ नहीं है।
महत्वपूर्ण: उपरोक्त वाक्य इंगित करता है कि एक एक्सएमएल फ़ाइल को कई अलग-अलग एक्सएसएल स्टाइल शीट्स का उपयोग करके परिवर्तित किया जा सकता है।
PHP कोड: सर्वर पर एक्सएमएल को एक्सएचटीएमएल में बदलें
एक्सएमएल फ़ाइल को सर्वर पर एक्सएचटीएमएल में बदलने के लिए आवश्यक PHP स्रोत कोड यहां दिया गया है:
<?php
// Load XML file
$xml = new DOMDocument;
$xml->load('cdcatalog.xml');
// Load XSL file
$xsl = new DOMDocument;
$xsl->load('cdcatalog.xsl');
//
Configure the transformer
$proc = new XSLTProcessor;
// Attach the xsl
rules
$proc->importStyleSheet($xsl);
echo $proc->transformToXML($xml);
?>
युक्ति: यदि आप PHP लिखना नहीं जानते हैं, तो कृपया हमारे PHP ट्यूटोरियल का अध्ययन करें ।
देखें कि यह PHP के साथ कैसे काम करता है ।
एएसपी कोड: सर्वर पर एक्सएमएल को एक्सएचटीएमएल में बदलें
एक्सएमएल फ़ाइल को सर्वर पर एक्सएचटीएमएल में बदलने के लिए आवश्यक एएसपी स्रोत कोड यहां दिया गया है:
<%
'Load XML file
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("cdcatalog.xml"))
'Load XSL file
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("cdcatalog.xsl"))
'Transform file
Response.Write(xml.transformNode(xsl))
%>
देखें कि यह एएसपी के साथ कैसे काम करता है ।