XSLT - على الجهاز الكlient

إذا كان متصفحك يدعم XSLT، فإنه يمكن استخدامه في المتصفح لتحويل المستند إلى XHTML.

حلول JavaScript

في الفصول السابقة، قدمنا لكم كيفية استخدام XSLT لتحويل ملف XML إلى XHTML. لقد قمنا بذلك من خلال إضافة قائمة النمط XSL إلى ملف XML وتحويله من خلال المتصفح.

على الرغم من أن هذا الأسلوب يعمل بشكل جيد، إلا أن تضمين استدعاءات النمط في ملفات XML ليس دائمًا مرضيًا (على سبيل المثال، لا يعمل هذا الأسلوب في المتصفحات التي لا يمكنها التعرف على XSLT).

طريقة أكثر شمولية هي استخدام JavaScript لإنجاز التحويل.

من خلال استخدام JavaScript، يمكننا:

  • إجراء اختبارات التأكد للمتصفح
  • استخدام قوائم النمط المختلفة بناءً على متصفح المستخدم و احتياجاته

هذا هو جمال XSLT! أحد أهداف تصميم 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 على الجانب الت客户端:

<html>
<body>
<script type="text/javascript">
// Load XML 
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("cdcatalog.xml")
// Load XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("cdcatalog.xsl")
// Transform
document.write(xml.transformNode(xsl))
</script>
</body>
</html>

إشارة:إذا لم تكن تعرف كيفية كتابة JavaScript، فتعلم منتعليمات JavaScript>

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

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