نوع الصفحة التي يستعرضها المستعرض
استخدام XML وXSL مع صفحات ويب Dreamweaver.
تم تبسيط واجهة المستخدم في Dreamweaver والإصدارات الأحدث. ونتيجة لذلك، قد لا تجد بعض الخيارات الموضحة في هذه المقالة في Dreamweaver والإصدارات اللاحقة. للاطلاع على المزيد من المعلومات، راجع هذه المقالة.
استخدام XML وXSL مع صفحات الويب
لغة الترميز الموسعة (XML) هي لغة تتيح لك هيكلة المعلومات.مثل HTML، تتيح لك XML هيكلة معلوماتك باستخدام العلامات، لكن علامات XML غير مُعرّفة مسبقًا كما هو الحال مع علامات HTML.بدلاً من ذلك، تتيح لك XML إنشاء علامات تُعرّف بأفضل شكل هيكل بياناتك (المخطط).العلامات متداخلة ضمن علامات أخرى لإنشاء مخطط للعلامات الأصلية والفرعية.مثل معظم علامات HTML، جميع العلامات في مخطط XML لها علامة افتتاح وإغلاق.
فيما يلي مثالٌ على البنية الأساسية لملف XML:
<?xml version="1.0">
<mybooks>
<book bookid="1">
<pubdate>03/01/2004</pubdate>
<title>Displaying XML Data with Adobe Dreamweaver</title>
<author>Charles Brown</author>
</book>
<book bookid="2">
<pubdate>04/08/2004</pubdate>
<title>Understanding XML</title>
<author>John Thompson</author>
</book>
</mybooks>
في هذا المثال، تحتوي كل علامة أصل <book> على ثلاث علامات فرعية: <pubdate>، و<title>، و<author>.لكن كل علامة <book> هي أيضًا علامة فرعية لعلامة <mybooks>، التي هي مستوى أعلى واحد في المخطط.يمكنك تسمية وهيكلة علامات XML بأي طريقة، بشرط أن تقوم بتداخل العلامات وفقًا لذلك ضمن أخرى، وتعيين علامة إغلاق مطابقة لكل علامة افتتاح.
مستندات XML لا تحتوي على أي تنسيق—فهي ببساطة حاويات للمعلومات المنظمة.بمجرد أن يكون لديك مخطط XML، يمكنك استخدام لغة الأنماط الموسعة (XSL) لعرض المعلومات.بالطريقة التي تتيح بها صفحات الأنماط المتتالية (CSS) تنسيق HTML، تتيح لك XSL تنسيق بيانات XML.يمكنك تعريف الأنماط، عناصر الصفحة، والتخطيط، وما إلى ذلك في ملف XSL وربطه بملف XML بحيث عندما يعرض المستخدم بيانات XML في متصفح، تكون البيانات منسقة وفقًا لما عرّفته في ملف XSL.المحتوى (بيانات XML) والعرض (المُعرَّف بواسطة ملف XSL) منفصلان تماماً، مما يوفر لك تحكماً أكبر في كيفية ظهور معلوماتك على صفحة الويب.في الواقع، XSL هي تقنية عرض لـ XML، حيث يكون الناتج الأساسي صفحة HTML.
Extensible Stylesheet Language Transformations (XSLT) هي لغة فرعية من XSL تتيح لك فعلياً عرض بيانات XML على صفحة ويب، و "تحويلها"، إلى جانب أنماط XSL، إلى معلومات قابلة للقراءة ومُنسَّقة في شكل HTML.يمكنك استخدام Dreamweaver لإنشاء صفحات XSLT التي تتيح لك تنفيذ تحويلات XSL باستخدام خادم تطبيق أو متصفح.في تحويل XSL من جانب الخادم، يقوم الخادم بعمل تحويل XML وXSL، وعرضها على الصفحة.في التحويل من جانب العميل، يقوم المتصفح (مثل Internet Explorer) بالعمل.
النهج الذي تتبعه في النهاية (تحويلات من جانب الخادم مقابل تحويلات من جانب العميل) يعتمد على ما تحاول تحقيقه كنتيجة نهائية، والتقنيات المتاحة لك، ومستوى الوصول الذي تملكه لملفات المصدر XML، وعوامل أخرى.ولكلٍ من النهجين فوائده وقيوده. على سبيل المثال، تعمل تحويلات من جانب الخادم في جميع المتصفحات بينما تقتصر تحويلات من جانب العميل على المتصفحات الحديثة فقط (Internet Explorer 6، Netscape 8، Mozilla 1.8، وFirefox 1.0.2).تحويلات من جانب الخادم تتيح لك عرض بيانات XML ديناميكياً من خادمك أو من أي مكان آخر على الويب، بينما تحويلات من جانب العميل يجب أن تستخدم بيانات XML المُستضافة محلياً على خادم الويب الخاص بك.أخيراً، تحويلات من جانب الخادم تتطلب أن تنشر صفحاتك إلى خادم تطبيق مُكوَّن، بينما تحويلات من جانب العميل تتطلب فقط وصولاً إلى خادم ويب.
للحصول على تدريب حول فهم XML، راجع www.adobe.com/go/vid0165_ae.
تحويلات XSL على جانب الخادم
يوفر Dreamweaver طرقاً لإنشاء صفحات XSLT التي تتيح لك تنفيذ تحويلات XSL من جانب الخادم.عندما يقوم خادم تطبيق بتنفيذ تحويل XSL، يمكن للملف الذي يحتوي على بيانات XML أن يتواجد على خادمك، أو في أي مكان آخر على الويب.بالإضافة إلى ذلك، يمكن لأي متصفح عرض البيانات المُحوَّلة.إلا أن نشر الصفحات لتحويلات من جانب الخادم معقد إلى حد ما، ويتطلب أن يكون لديك وصول إلى خادم تطبيق.
عند العمل مع تحويلات XSL من جانب الخادم، يمكنك استخدام Dreamweaver لإنشاء صفحات XSLT تنتج مستندات HTML كاملة (صفحات XSLT كاملة)، أو أجزاء XSLT تنتج جزءاً من مستند HTML.صفحة XSLT كاملة تشبه صفحة HTML عادية.تحتوي على علامة <body> وعلامة <head>، وتتيح لك عرض مزيج من بيانات HTML وXML على الصفحة.جزء XSLT هو قطعة من الكود، يتم استخدامها بواسطة مستند منفصل، تعرض بيانات XML مُنسَّقة.على عكس صفحة XSLT كاملة، هو ملف مستقل لا يحتوي على علامة <body> أو <head>.إذا كنت تريد عرض بيانات XML على صفحة منفصلة، فستقوم بإنشاء صفحة XSLT كاملة، وربط بيانات XML بها.من ناحية أخرى، إذا كنت تريد عرض بيانات XML في قسم معين من صفحة ديناميكية موجودة—على سبيل المثال، صفحة رئيسية ديناميكية لمتجر السلع الرياضية، مع نتائج المباريات الرياضية من موجز RSS معروضة على جانب واحد من الصفحة—فستقوم بإنشاء جزء XSLT وإدراج مرجع إليه في الصفحة الديناميكية.إنشاء أجزاء XSLT، واستخدامها مع صفحات ديناميكية أخرى لعرض بيانات XML، هو السيناريو الأكثر شيوعاً.
الخطوة الأولى في إنشاء هذه الأنواع من الصفحات هي إنشاء جزء XSLT.هو ملف منفصل يحتوي على التخطيط والتنسيق وما إلى ذلك لبيانات XML التي تريد عرضها في النهاية في الصفحة الديناميكية.بمجرد إنشاء جزء XSLT، تدرج مرجعاً إليه في صفحتك الديناميكية (على سبيل المثال، صفحة PHP أو ColdFusion).يعمل المرجع المُدرج للجزء بشكل مشابه لتضمين جانب الخادم (SSI) — تتواجد بيانات XML المنسقة (الجزء) في ملف منفصل، بينما في عرض التصميم، يظهر عنصر نائب للجزء على الصفحة الديناميكية نفسها.عندما يطلب المتصفح الصفحة الديناميكية التي تحتوي على مرجع للجزء، يقوم الخادم بمعالجة التعليمة المضمنة وإنشاء مستند جديد يظهر فيه المحتوى المنسق للجزء بدلاً من العنصر النائب.
A. يطلب المستعرض صفحة ديناميكية B. يجد خادم الويب الصفحة ويمررها إلى خادم التطبيق C. يفحص خادم التطبيقات الصفحة بحثًا عن تعليمات ويحصل على جزء XSLT D. ينفذ خادم التطبيقات التحويل (يقرأ جزء XSLT ويحصل على بيانات xml ويُنسقها) E. يقوم خادم التطبيقات بإدراج الجزء المنسَّق إلى الصفحة، ثم يمرره مرة أخرى إلى خادم الويب F. يرسل خادم الويب الصفحة النهائية إلى المستعرض
تستخدم سلوك خادم XSL Transformation لإدراج مرجع إلى جزء XSLT في صفحة ديناميكية.عند إدراج المرجعية، يُنشِئ Dreamweaver مجلد includes/MM_XSLTransform/ في المجلد الجذر للموقع يحتوي على ملف مكتبة وقت التشغيل.يستخدم خادم التطبيق الوظائف المُعرَّفة في هذا الملف عند تحويل بيانات XML المحددة.الملف مسؤول عن جلب بيانات XML وأجزاء XSLT وتنفيذ تحويل XSL وإخراج النتائج على صفحة الويب.
الملف الذي يحتوي على جزء XSLT وملف XML الذي يحتوي على بياناتك وملف مكتبة وقت التشغيل المُنتَج يجب أن تكون جميعها على الخادم لعرض صفحتك بشكل صحيح.(إذا حددت ملف XML عن بُعد كمصدر البيانات — واحد من تغذية RSS، على سبيل المثال — فيجب بالطبع أن يتواجد ذلك الملف في مكان آخر على الإنترنت.)
يمكنك أيضاً استخدام Dreamweaver لإنشاء صفحات XSLT كاملة للاستخدام مع التحويلات من جانب الخادم.تعمل صفحة XSLT الكاملة بنفس الطريقة تماماً مثل جزء XSLT، فقط عند إدراج المرجع لصفحة XSLT الكاملة باستخدام سلوك خادم XSL Transformation، فإنك تقوم بإدراج المحتويات الكاملة لصفحة HTML.وبالتالي، يجب مسح الصفحة الديناميكية (صفحة .cfm أو .php أو .asp التي تعمل كصفحة الحاوية) من جميع HTML قبل إدراج المرجعية.
يدعم Dreamweaver تحويلات XSL لصفحات ColdFusion وASP وPHP.
يجب تكوين خادمك بشكل صحيح لتنفيذ التحويلات من جانب الخادم.لمزيد من المعلومات، يرجى الاتصال بمسؤول الخادم.
تحويلات XSL على جانب العميل
يمكنك تنفيذ تحويلات XSL على العميل بدون استخدام خادم تطبيقات. يمكنك استخدام Dreamweaver لإنشاء صفحة XSLT بالكامل ستقوم بذلك، ومع ذلك، تتطلب التحويلات على جانب العميل معالجة ملف XML الذي يحتوي على البيانات التي تريد عرضها. بالإضافة إلى ذلك، ستعمل التحويلات على جانب العميل في المستعرضات الحديثة فقط (على سبيل المثال Internet Explorer 6 وNetscape 8 وMozilla 1.8 وFirefox 1.0.2).
أولاً، قم بإنشاء صفحة XSLT بالكامل وألحق مصدر بيانات XML. يطالبك Dreamweaver بإلحاق مصدر البيانات عندما تقوم بإنشاء الصفحة الجديدة). يمكنك إنشاء صفحة XSLT من الصفر، أو يمكنك تحويل صفحة HTML موجودة إلى صفحة XSLT. عندما تقوم بتحويل صفحة HTML موجودة إلى صفحة XSLT، يجب عليك إلحاق مصدر بيانات XML باستخدام لوحة Bindings (Window > Bindings).
بعد أن تقوم بإنشاء صفحة XSLT، يجب أن تربطها بملف XML الذي يحتوي على بيانات XML عن طريق إدخال مرجع إلى صفحة XSLT في ملف XML نفسه (في الأغلب تقوم بإدخال مرجع إلى صحيفة أنماط CSS في القسم <head> من صفحة HTML). يجب أن يرى زائرو موقعك ملف XML (وليس صفحة XSLT) في مستعرض. عندما يرى زوار موقعك الصفحة، ينفذ المستعرض تحويل XSL، ويعرض بيانات XML، المنسقة حسب صفحة XSLT المرتبطة.
هذه العلاقة بين صفحات XSLT وXML المرتبطة تكون متشابهة نظريًا، لكنها تكون مختلفة عن نموذج صفحة CSS/HTML. حينما يكون لديك صفحة HTML تحتوي على محتويات (مثل نص)، تستخدم صفحة أنماط خارجية لتنسيق المحتوى. تحدد صفحة HTML المحتويات، بينما تحدد تعليمة CSS البرمجية الخارجية، التي لا يراها المستخدم أبدًا، العرض. مع XSLT وXML، ينعكس الوضع. ويحدد ملف XML (الذي لا يراه المستخدم أبدًا في صورته الأولية)، المحتويات، بينما تحدد صفحة XSLT العرض. وتحتوي صفحة XSLT على الجداول والتخطيط والرسوم وغيرها من الأشياء التي تحتوي عليها عادة صفحات HTML القياسية. عندما يرى أحد الزوار ملف XML في مستعرض، تقوم صفحة XSLT بتنسيق المحتوى.
A. يطلب المستعرض ملف XML B. يستجيب الخادم بإرسال ملف XML إلى المتصفح C. يقرأ المستعرض توجيه XML ويستدعي ملف XSLT D. يرسل الخادم ملف XSLT إلى المستعرض E. يحوِّل المستعرض بيانات XML ويعرضها في المستعرض
عند استخدام Dreamweaver لربط صفحة XSLT بصفحة XML، يدرج Dreamweaver الكود المناسب لك في أعلى صفحة XML.إذا كنت تملك صفحة XML التي تربطها (أي أن ملف XML يتواجد حصرياً على خادم الويب الخاص بك)، فكل ما تحتاجه هو استخدام Dreamweaver لإدراج الكود المناسب الذي يربط الصفحتين.عندما تملك ملف XML، تكون تحويلات XSL المنفذة بواسطة العميل ديناميكية بالكامل.أي أنه كلما تحديث البيانات في ملف XML، سيتم تحديث أي إخراج HTML يستخدم صفحة XSLT المرتبطة تلقائياً بالمعلومات الجديدة.
ملفا XML وXSL اللذان تستخدمهما للتحويلات من جانب العميل يجب أن يكونا في نفس الدليل.إذا لم تكن كذلك، سيقرأ المتصفح ملف XML ويجد صفحة XSLT للتحويل، لكنه سيفشل في العثور على الأصول (أوراق الأنماط والصور وما إلى ذلك) المُعرَّفة بواسطة الروابط النسبية في صفحة XSLT.
إذا كنت لا تملك صفحة XML التي تربطها (على سبيل المثال، إذا كنت تريد استخدام بيانات XML من تغذية RSS في مكان ما على الويب)، يكون سير العمل أكثر تعقيداً قليلاً.لتنفيذ التحويلات من جانب العميل باستخدام بيانات XML من مصدر خارجي، يجب أولاً تنزيل ملف مصدر XML إلى نفس الدليل حيث تتواجد صفحة XSLT الخاصة بك.عندما تكون صفحة XML في موقعك المحلي، يمكنك استخدام Dreamweaver لإضافة الكود المناسب الذي يربطها بصفحة XSLT، ونشر كلا الصفحتين (ملف XML المُنزَّل وصفحة XSLT المرتبطة) على خادم الويب الخاص بك.عندما يعرض المستخدم صفحة XML في المتصفح، تقوم صفحة XSLT بتنسيق المحتوى، تماماً كما في المثال السابق.
عيب تنفيذ تحويلات XSL من جانب العميل على بيانات XML التي تأتي من مصدر خارجي هو أن بيانات XML تكون "ديناميكية" جزئيًا فقط. ملف XML الذي تقوم بتنزيله وتعديله هو مجرد "لقطة" من الملف الذي يوجد في مكان آخر على الويب.إذا تغير ملف XML الأصلي على الويب، فيجب عليك تنزيل الملف مرة أخرى، وربطه بصفحة XSLT، وإعادة نشر ملف XML على خادم الويب الخاص بك. يعرض المتصفح البيانات التي يتلقاها من ملف XML على خادم الويب الخاص بك فقط، وليس البيانات الموجودة في ملف المصدر XML الأصلي.
بيانات XML وعناصر التكرار
يتيح لك كائن منطقة التكرار في XSLT عرض العناصر المكررة من ملف XML داخل الصفحة.يمكن تحويل أي منطقة تحتوي على عنصر نائب لبيانات XML إلى منطقة مكررة. ومع ذلك، فإن المناطق الأكثر شيوعًا هي الجدول، أو صف الجدول، أو سلسلة من صفوف الجدول.
يوضح المثال التالي كيفية تطبيق كائن XSLT للمنطقة المكررة على صف جدول يعرض معلومات القائمة لمطعم. يعرض الصف الأولي ثلاثة عناصر مختلفة من مخطط XML: العنصر والوصف والسعر. عندما يتم تطبيق كائن XSLT للمنطقة المكررة على صف الجدول، وتتم معالجة الصفحة بواسطة خادم التطبيق أو المتصفح، يتم تكرار الجدول مع إدراج بيانات فريدة في كل صف جدول جديد.
عندما تطبق كائن XSLT للمنطقة المكررة على عنصر في نافذة المستند، يظهر مخطط رفيع ومُبوب ورمادي حول المنطقة المكررة.عندما تقوم بمعاينة عملك في المتصفح (ملف > معاينة في المتصفح)، يختفي المخطط الرمادي ويتوسع التحديد لعرض العناصر المكررة المحددة في ملف XML، كما هو موضح في الرسم التوضيحي السابق.
عندما تضيف كائن XSLT للمنطقة المكررة إلى الصفحة، يتم اختصار طول العنصر النائب لبيانات XML في نافذة المستند.وذلك لأن Dreamweaver يحدث تعبير XPath (لغة مسار XML) للعنصر النائب لبيانات XML بحيث يكون نسبيًا إلى مسار العنصر المكرر.
على سبيل المثال، الكود التالي مخصص لجدول يحتوي على عنصرين نائبين ديناميكيين، بدون تطبيق كائن XSLT للمنطقة المكررة على الجدول:
<table width="500" border="1">
<tr>
<td><xsl:value-of select="rss/channel/item/title"/></td>
</tr>
<tr>
<td><xsl:value-of select="rss/channel/item/description"/></td>
</tr>
</table>
الكود التالي مخصص لنفس الجدول مع تطبيق كائن XSLT للمنطقة المكررة عليه:
<xsl:for-each select="rss/channel/item">
<table width="500" border="1">
<tr>
<td><xsl:value-of select="title"/></td>
</tr>
<tr>
<td><xsl:value-of select="description"/></td>
</tr>
</table>
</xsl:for-each>
في المثال السابق، قام Dreamweaver بتحديث XPath للعناصر التي تقع ضمن المنطقة المتكررة (العنوان والوصف) لتكون نسبية إلى XPath في علامات <xsl:for-each> المحيطة، بدلاً من المستند الكامل.
ينشئ Dreamweaver تعبيرات XPath نسبية للسياق في حالات أخرى أيضاً.على سبيل المثال، إذا قمت بسحب عنصر نائب لبيانات XML إلى جدول يحتوي بالفعل على كائن XSLT للمنطقة المتكررة، يعرض Dreamweaver تلقائياً XPath نسبة إلى XPath الموجود في علامات <xsl:for-each> المحيطة.
معاينة بيانات XML
عند استخدام المعاينة في المتصفح (ملف > معاينة في المتصفح) لمعاينة بيانات XML التي أدرجتها في جزء XSLT أو صفحة XSLT كاملة، يختلف المحرك الذي ينفذ تحويل XSL من موقف إلى آخر.بالنسبة للصفحات الديناميكية التي تحتوي على أجزاء XSLT، ينفذ خادم التطبيق دائماً التحويل.في أوقات أخرى، قد يقوم إما Dreamweaver أو المتصفح بتنفيذ التحويل.
يلخص الجدول التالي المواقف عند استخدام المعاينة في المتصفح، والمحركات التي تنفذ التحويلات المعنية:
|
|
تحويل البيانات الذي تنفذه |
|---|---|
|
الصفحة الديناميكية التي تحتوي على جزء XSLT |
خادم التطبيقات |
|
جزء XSLT أو صفحة XSLT كاملة |
Dreamweaver |
|
ملف XML بارتباط لصفحة XSLT كاملة |
المستعرض |
توفر المواضيع التالية إرشادات لمساعدتك في تحديد طرق المعاينة المناسبة، بناءً على احتياجاتك.
عرض الصفحات للتحويلات من جانب الخادم
في حالة التحويلات من جانب الخادم، يتم تحويل المحتوى الذي يراه زائر الموقع في النهاية بواسطة خادم التطبيق الخاص بك.عند بناء صفحات XSLT والصفحات الديناميكية للاستخدام مع التحويلات من جانب الخادم، من الأفضل دائماً معاينة الصفحة الديناميكية التي تحتوي على جزء XSLT بدلاً من جزء XSLT نفسه.في السيناريو الأول، تستخدم خادم التطبيق، مما يضمن أن معاينتك متسقة مع ما سيراه زوار موقعك عند زيارة صفحتك.في السيناريو الأخير، ينفذ Dreamweaver التحويل، وقد يوفر نتائج مختلفة قليلاً.يمكنك استخدام Dreamweaver لمعاينة جزء XSLT الخاص بك أثناء بنائه، لكنك ستتمكن من رؤية أدق النتائج لعرض البيانات إذا استخدمت خادم التطبيق لمعاينة صفحتك الديناميكية بعد إدراج جزء XSLT.
استعراض الصفحات للتحويلات من جانب العميل
في حالة التحويلات من جانب العميل، يتم تحويل المحتوى الذي يراه زائر الموقع في النهاية بواسطة المتصفح.تحقق هذا بإضافة رابط من ملف XML إلى صفحة XSLT.إذا فتحت ملف XML في Dreamweaver وقمت بمعاينته في متصفح، فإنك تجبر المتصفح على تحميل ملف XML وتنفيذ التحويل.يوفر لك هذا نفس تجربة زائر موقعك.
استخدام هذا الأسلوب، ومع ذلك، يجعل تصحيح أخطاء صفحتك أكثر صعوبة لأن المتصفح يحول XML وينشئ HTML داخليًا.إذا اخترت خيار عرض المصدر في المتصفح لتصحيح أخطاء HTML المُنشأ، فسترى فقط XML الأصلي الذي تلقاه المتصفح، وليس HTML الكامل (العلامات والأنماط وما إلى ذلك) المسؤول عن عرض الصفحة.لرؤية HTML الكامل عند عرض الكود المصدر، يجب عليك معاينة صفحة XSLT في متصفح بدلاً من ذلك.
عرض صفحات XSLT الكاملة وأجزاء XSLT
عند إنشاء صفحات XSLT كاملة وأجزاء XSLT، ستحتاج إلى معاينة عملك للتأكد من أن بياناتك يتم عرضها بشكل صحيح. إذا استخدمت معاينة في المتصفح لعرض صفحة XSLT كاملة أو جزء XSLT، فإن Dreamweaver يقوم بالتحويل باستخدام محرك تحويل مدمج.هذه الطريقة تمنحك نتائج سريعة، وتجعل من الأسهل عليك البناء وتصحيح أخطاء صفحتك بشكل تدريجي.كما توفر لك طريقة لعرض HTML الكامل (العلامات والأنماط وما إلى ذلك) عن طريق تحديد خيار عرض المصدر في المتصفح.
طريقة المعاينة هذه تُستخدم بشكل شائع عند البدء في بناء صفحات XSLT، بغض النظر عن ما إذا كنت تستخدم العميل أو الخادم لتحويل بياناتك.
قم بإنشاء مواقع ويب جميلة في Dreamweaver
قم بتصميم مواقع الويب الديناميكية وبرمجتها وإدارتها في أداة قوية متكاملة.