دورة xml : الدرس 1 : نبذة عن لغات الترميز - تعريف xml ووظائفها
- التفاصيل
- الزيارات: 9551
نبذة عن لغات الترميز.
لغة XML ليست لغة برمجيَّة!
إنَّها تنتمي لعائلة لغات الترميز “Markup Languages” الَّتي تنتمي إليها أيضًا لغة HTML المعروفة.
هذه العائلة تنحدر عن اللغة الأمّ المسمَّى بـ SGML والَّتي ظهرت لأوّل مرَّةٍ في عام 1960 أي قبل ظهور الويب بكثير “30 عامًا تقريبًا”، لتساعد على ترميز وتنسيق المستندات والرسائل الإلكترونيَّة المتبادلة عبر الإنترنت.
وتتميَّز عائلة لغات الترميز بوسومها ذات الأقواس المثلثَّة <>، وبهيكليتها الشبيهة بالشجرة TreeLike Structure، بالإضافة إلى أنَّها لا تحتوي على أوامر أو عمليَّات، ووظيفتها تنحصر على ترميز النصوص برموزٍ معيَّنة تفهمها جميع المتصفحات.
- · التعريف والوظائف:
ماذا يقول لنا موقع w3schools عند تعريفه لغة XML؟
- XML هي اختصار لـ: eXtendable Markup Language أي: لغة الترميز القابلة للتوسّع .
- XML صُمّمت لنقل وتخزين البيانات.
- من المهمّ أن نفهم لغة XML ومن السهل أن نتعلمها!
.
.نعرف بأنَّ HTML هي لغة توصيف تُستخدم لعرض البيانات على صفحات الويب، البعض يعتقد بأنَّ لغة XML تعمل لذات الهدف، لا بالتأكيد.. XML تختلف تمامًا تمامًا عن الـ HTML، يمكن أن نقول بأنَّ ما يجمع بينهما فقط هو انحدارهما من نفس العائلة!
أنتَ تعرف بأنَّ هناك عددٌ محدود من الوسوم في لغة HTML، وأنَّ المتصفحات تترجم هذه الرموز تلقائيًا بغرض تنسيق عرض البيانات في صفحات الويب.
في لغة XML.. ليس هناك وسومٌ محددة!!.. أنتَ –كمطور ويب– تصنع وسومك بنفسك، لك مطلق الحرّيّة في كتابة الوسوم التي ترغب بها، ولذلك يصبح لدينا عدد لا نهائي من الوسوم التي يمكنك كتابتها عبر لغة XML!
كمثال، في لغة XML أستطيع كتابة الوسوم التالية:
حسنًا إذًا، ماذا سوف أستفيد من ذلك؟
ببساطة شديدة، سوف تقوم بوصف بياناتك بالطريقة التي تعجبك!!
وكيف سيستفيد المتصفح من هذا الوصف؟
هنا يأتي الفرق الجوهري بين HTML و XML، أنا أستطيع الاستفادة من لغة HTML بحدّ ذاتها والمتصفح لديه “قاموس” بكافة وسومها، لكن لغة XML تصبح عديمة الفائدة إذا لم أستخدم معها لغات وتقنيات تخبر المتصفح بكيفية التعامل مع الوسوم التي قمتُ بكتابتِها!
هذه هي الفكرة النظريّة للـ XML، تعبّر عنها دكتورتي في الجامعة بقولها: إنه مبدأ أن أمنح الجميع فرصة كتابة لغتهم الخاصّة بأنفسهم!
فما هي وظائف XML عمليًا؟
يمكننا تصنيف وظائف XML إلى 3 تصنيفات:
1- الاستفادة من لغة XML ضمن موقع واحد:
وهذه الاستفادة تكون على وجهين غالبًا/
- استخدام ملفات الـ XML كقاعدة بيانات:
إمّا عن طريق استخدام مستندات XML لتخزين البيانات ، أو تحويل مجموعة من المستندات إلى قواعد بيانات عن طريق استخدام إحدى التطبيقات ، وكلتاهما يمكن ان تكوّن قواعد بيانات علائقيّة .
” أشكر الأخ محمّد سفيان شراب على توضيح هذه النقطة وتصحيحها “
- تحويل ملفات XML إلى ملفات أخرى مثل CSS أو Text Files.. وغيرها.
2- الاستفادة من لغة XML عند تبادل البيانات بين موقعين فأكثر:
هل ستصدقني إذا أخبرتُك بأنّ إحدى أسس ظهور مصطلح الويب2.0 هي لغة XML؟
نسمع كثيرًا ونلمس بأنفسنا التعاون الهائل في مشاركة البيانات بين مواقع الويب 2.0، يمكننا نشر روابطنا المفضلة في Delicious على صفحاتنا في Facebook و Twitter وغيرهما من المواقع الاجتماعية بكلّ سهولة.
مستخدمي موقع Goodreads أيضًا يعرضون آخر تحديثاتهم على Twitter وFacebook، ويكفينا كمثال واضح لمشاركة البيانات بين المواقع موقع FriendFeed الّذي يقوم بجمع خلاصات أغلب الشبكات الاجتماعية ويعرضها!
إنّ ذلك كلّه يتمّ عبر لغة XML إمّا عن طريق ملفات RSS أو ملفات XML أخرى .
” أشكر الأخ محمّد سفيان شراب على تصحيح المعلومة ، للمزيد حول هذا الموضوع ، اقرأ تعليقه حول هذه النقطة “
3- الاستفادة من لغة XML عند تبادل البيانات بين الأجهزة والتطبيقات المختلفة:
لنأخذ موقع Twitter على سبيل المثال لا الحصر!
أستطيع الدخول إلى حسابي وقراءة تحديثات أصدقائي في موقع تويتر عبر:
- موقع www.twitter.com.
- إضافة Echofon في متصفح FireFox.
- تطبيقات AdobeAir مثل: Twhirl.
- جهاز الجوال.
- جهاز Iphone.
- أجهزة الكمبيوتر الكفية.
وغيرها الكثير الكثير، كلها تتعامل مع نفس قاعدة البيانات وتعرض لي نفس التحديثات، لكن كلّ منها مبرمجٌ بلغةٍ مختلفة ويعمل بطريقةٍ مختلفة، كيف يحدث هذا؟، بالاستفادة من لغة XML!
لغة XML كالبحر حقًا لمن أراد الاستفادة منها، ومهما اغترفنا منها فإنّنا سوف نظلّ جاهلين أمام الكثير من أسرارها وتقنياتها، ولا أعدكم بأن أقدّم في هذه الدورة كلّ صغيرةٍ وكبيرة حول XML، فمعرفتي عنها متواضعة في النهاية، لكنّني سوف أحاول قدر المستطاع إضافة مصدرٍ تعليميّ حولها إلى المحتوى العربي في الشبكة.
في الدرس القادم بمشيئة الله سوف نناقش:
- البنية الهيكلية.
- إنشاء ملف XML.