Latest web development tutorials

XSLT على العميل

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


حل جافا سكريبت

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

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

نهج أعم هو استخدام جافا سكريبت لإتمام عملية التحويل.

باستخدام جافا سكريبت، يمكننا:

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

هذا هو سحر 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 .

ويرافق ورقة أنماط 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>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 يمكن استخدام عدة أوراق أنماط XSL مختلفة لتحويل.


في متصفح تحويل XML إلى XHTML

وهذا هو عميل لملفات XML في شفرة مصدر XHTML:

أمثلة

<html>
<head>
<script>
function loadXMLDoc(dname)
{
if (window.ActiveXObject)
{
xhttp=new ActiveXObject("Msxml2.XMLHTTP.3.0");
}
else
{
xhttp=new XMLHttpRequest();
}
xhttp.open("GET",dname,false);
xhttp.send("");
return xhttp.responseXML;
}

function displayResult()
{
xml=loadXMLDoc("cdcatalog.xml");
xsl=loadXMLDoc("cdcatalog.xsl");
// code for IE
if (window.ActiveXObject)
{
ex=xml.transformNode(xsl);
document.getElementById("example").innerHTML=ex;
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
{
xsltProcessor=new XSLTProcessor();
xsltProcessor.importStylesheet(xsl);
resultDocument = xsltProcessor.transformToFragment(xml,document);
document.getElementById("example").appendChild(resultDocument);
}
}
</script>
</head>
<body onload="displayResult()">
<div id="example" />
</body>
</html>

محاولة »

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

الأمثلة توضح:

loadXMLDoc وظيفة ()

يتم استخدام الدالة loadXMLDoc () لتحميل XML و XSL الملفات.

فإنه يتحقق نوع المتصفح والمستخدم لتحميل الملف.

displayResult وظيفة ()

يتم استخدام هذه الدالة لتحديد ملف XML أسلوب العرض باستخدام ملفات XSL.

  • تحميل XML و XSL ملفات
  • المستخدمين اختبار لديهم نوع المتصفح
  • إذا كائنات ActiveX دعم متصفح المستخدم:
    • استخدام أسلوب transformNode () من أنماط XSL إلى مستند XML
    • تعيين المستند الحالي (معرف = "مثال") يحتوي تم تصميم جسم تطبيق وثائق XML
  • إذا لم متصفح المستخدم دعم كائنات ActiveX:
    • إنشاء كائن وXSL استيراد ملفات جديدة XSLTProcessor
    • استخدام أسلوب transformToFragment () من أنماط XSL إلى مستند XML
    • تعيين المستند الحالي (معرف = "مثال") يحتوي تم تصميم جسم تطبيق وثائق XML