أحدث البرامج التعليمية وتطوير الشبكة
 

XSLT - على ملقم


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


والحل عبر متصفح

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

عرض ملف XML .

ويرافق ورقة أنماط 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="/">
  <html>
  <body>
  <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>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>

عرض ملف XSL .

Notice that the XML file does not have a reference to the XSL file.

IMPORTANT: وتشير الجملة أعلاه أن ملف 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);
?>

Tip: إذا كنت لا تعرف كيفية كتابة PHP، يرجى دراسة لدينا 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))
%>

Tip: إذا كنت لا تعرف كيفية كتابة ASP، يرجى دراسة لنا ASP البرنامج التعليمي .

نرى كيف يعمل مع ASP .