اگرچه بیشتر مرورگرها از xslt پشتیبانی نمی کنند اما یک  راه حل  انتقال دادن xslt به xhtml روی سرور است در فصل قبل ما توضیح دادیم که چگونه xslt می تواند برای انتقال یک سند از xml به xhtml در مرورگر بکار رود
ما یک کد جاوا اسکریپت ایجاد کردیم که از یک تجزیه کننده xml استفاده کرد برای اجرای انتقال اطلاعات اما این کد جاوا اسکریپت در مرورگرهایی که از تجزیه کننده xml پشتیبانی نمی کنند قابل اجرا نیست
برای اینکه بتوانید به داده های یک سند xml درتمام مرورگرها دسترسی داشته باشید ما باید یک سند xml را ابتدا به یک سرور انتقال دهیم سپس داده ها را در قالب سند xhtml به کامپیوتر کاربر ارسال نمائیم
یکی از قابلیت های xslt است که به کمک ان می توان داده ها را از قالبی به قالب دیگر تبدیل کرد و این باعث می شود در تمام مرورگرها بتوان به داده های سند xml دسترسی داشت
فایل xml و فایل xslt

به سند xml  به نام cdcatalog.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>

حال به سند xslt زیر به نام cdcatalog.xslکه دررابطه با سند xml بالاست توجه کنید :

<?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 به xhtml  در سرور این دستورات با استفاده از asp نوشته می شود

<%
‘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))
%>

سه خط اول بنفش رنگ :

یک شی تجزیه کننده xml به نام XMLDOM می سازد و فایل xml ما را که نامش cdcatalog.xml بود در خافظه بار گذاری می کند

سه خط اول سبز رنگ :

یک شی تجزیه کننده دیگر می سازد و فایل xsl ما را که نامش cdcatalog.xsl بود در خافظه بار گذاری می کند

و خط نارنجی :

سند xml را با استفاده از xslt انتقال می دهد و نتیجه را بصورت سند xhtml به مرورگر شما انتقال می دهد