XSLT - على الخادم

بما أن ليس جميع المتصفحات يدعمون XSLT، هناك حل آخر هو إكمال تحويل XML إلى XHTML على الخادم.

حل متعدد المتصفحات

في الفصول السابقة، شرحنا كيفية استخدام XSLT في المتصفح لتحويل XML إلى XHTML. قمنا بإنشاء سلسلة من JavaScript لتحويل XML باستخدام معالج XML. لا يمكن تشغيل حلول 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>

راجع هذا ملف 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>

راجع هذا ملف XSL.

لا يحتوي هذا الملف XML على إشارة إلى ملف XSL.

ملاحظة هامة:هذا العنصر يوضح أن ملف XML يمكن تحويله باستخدام العديد من قوائم النمط المختلفة.

تحويل XML إلى XHTML على الخادم

هذا هو رمز تحويل ملف XML إلى XHTML على الخادم:

<%
'Load XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("cdcatalog.xml"))
'تحميل XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("cdcatalog.xsl"))
'تحويل ملف
Response.Write(xml.transformNode(xsl))
%>

نصيحة:إذا لم تكن تعرف كيفية كتابة ASP، يمكنك تعلمتعليمات ASP}

أحد الكودات أنشأ مثالاً على محلل XML من Microsoft، ثم قام بتحميل ملف XML إلى ذاكرة الواقع. الكود الثاني أنشأ مثالاً آخر على محلل، ثم قام بتحميل ملف XSL إلى ذاكرة الواقع. الخط الأخير من الكود استخدم مستند XSL لتحويل مستند XML، وارسل النتيجة كـ XHTML إلى متصفحك. المهمة انتهت!

انظروا كيف يعمل.