XSLT في العميل
- الصفحة السابقة تطبيق XSLT
- الصفحة التالية XSLT على الجهاز السيرفر
إذا كان مستعرضك يدعم 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>
والمرفقات الخاصة بها جدول الأنماط XSL:
<?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>جمعية أقراصي</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 على إشارة إلى ملف XSL.
ملاحظة هامة:هذا يعني أن ملف XML يمكن تحويله باستخدام عدة نماذج XSL مختلفة.
تحويل 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 لمicrosoft، ثم قام بتحميل ملف XML إلى الذاكرة. قطعة الكود الثانية أنشأت نموذجًا آخر من المحلل، ثم قام بتحميل ملف XSL إلى الذاكرة. في الخط الأخير، استخدم مستند XSL لتحويل مستند XML، وعرض النتيجة كXHTML في المتصفح. تم إكمال المهمة!
- الصفحة السابقة تطبيق XSLT
- الصفحة التالية XSLT على الجهاز السيرفر