XSLT - على الخادم
لجعل بيانات XML متاحة لجميع أنواع المتصفحات ، يمكننا تحويل مستند XML على الخادم وإرساله مرة أخرى إلى المتصفح كـ XHTML.
حل عبر المتصفح
شرحنا في الفصل السابق كيف يمكن استخدام XSLT لتحويل مستند من XML إلى XHTML في المتصفح. استخدمنا JavaScript ومحلل XML للتحويل. ومع ذلك ، لن يعمل هذا في متصفح لا يحتوي على محلل XML.لجعل بيانات XML متاحة لجميع أنواع المتصفحات ، يمكننا تحويل مستند XML على الخادم وإرساله مرة أخرى إلى المتصفح كـ XHTML.
هذا جمال آخر لـ XSLT. كان أحد أهداف تصميم XSLT هو إتاحة تحويل البيانات من تنسيق إلى آخر على الخادم ، وإعادة البيانات القابلة للقراءة لجميع أنواع المتصفحات.
ملف XML وملف 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>
وصحيفة أنماط XSL المصاحبة:
<?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.
هام: تشير الجملة أعلاه إلى أنه يمكن تحويل ملف XML باستخدام العديد من أوراق أنماط XSL المختلفة.
كود PHP: قم بتحويل XML إلى XHTML على الخادم
فيما يلي شفرة مصدر PHP اللازمة لتحويل ملف XML إلى XHTML على الخادم:
<?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 .
كود ASP: قم بتحويل XML إلى XHTML على الخادم
فيما يلي التعليمات البرمجية المصدر لـ ASP اللازمة لتحويل ملف XML إلى XHTML على الخادم:
<%
'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))
%>