الخميس، يوليو 16، 2009

ماهى لغة xml ؟

. الخميس، يوليو 16، 2009


هذا الدرس هو استكمالا للدرس السابق مقدمة الى الجزء الاول من دورة xhtml وذلك ضمن سلسة دروس الخاصة بالدورة على الرابط اعلان عن دورة xhtml ، وفيه سوف نقوم بالحديث قليلا عن لغة xml او بمعنى اوضح سوف نقوم بالاجابة على السؤال الشائع ماهى لغة xml ؟

حينما نتناول لغة xml فاننا نتناول لغة تقوم بتنظيم البيانات بطريقة لها معنى، فكل ما يقع على عاتقك هو انشاء اوسمة مخصصة لنوع معين من البيانات التى ستحتويها صفحتك بحيث تكون مكتوبة باحرف صغيرة lower case ، و يكون كامل تركيزك على ضبط الهيكل العام للمستند، قد يكون الكلام السابق غير مفهوم كليا ولكن سوف يتضح لنا المعنى خلال الكود التالى :-
<p> my blog url is <i> www.arabwebblog.blogspot.com </i></p>
هذا الكود هو كود html عادى جدا، حينما اطلب منك استخراج الاوسمة tags و المحتوى content الموجود فى الكود السابق، ستكون اجابتك:-

الاوسمة هى : <p> <i> </i> </p>
المحتوى هو : my blog name is و arab web blog

و لكن الا تلاحظ شيئا، وهو ان تلك الاوسمة هى مجرد رموز لا تتصل بالمحتوى او تعكس معناه، بطريقة اخرى ، الا تلاحظ ان تلك الاوسمة تستخدم اكثر من مرة و مع اكثر من نوع من البيانات داخل الصفحة، وعلى العكس يمكنك النظر الى المثال التالى المكتوب بلغة xml :
<question answer=" arab web blog">
what is your blog url?
</question>
فى هذا الكود سوف تلاحظ مايلى:

المحتوى what is your blog url? يعبر عن معناه الوسم <question>
المحتوى arab web blog تعبر عن معناه السمة answer كاجابة للسؤال السابق
كلا من الوسم <question> و السمة answer تعكسان سؤال و اجابة، و بهذا قد يصبح للكود معنى.

اعلم ان الامور الان اصبحت متداخلة اكثر بالنسبة اليك، لذا سوف اقوم بعمل المقارنة التالية بين لغة html ولغة xml لكى نتعرف على الفروق بينهما بوضوح.
  • لغة xml هى لغة صممت بهدف وصف البيانات بطريقة لها معنى ( اى استخدام اوسمة لها معنى) بينما لغة html صممت بهدف كيفية عرض البيانات على فى المتصفح ( اى استخدام اوسمة لعرض البيانات فقط دون النظر الى معناها).
  • لغة xml هى لغة حساسة لحالة الاحرف، بينما لغة html غير حساسة لحالة الاحرف.
  • لغة html يمكن ان تتغاضى عن اخطاء التنسيق او العناصر المتداخلة، وسيظهر المستند فى المستعرض بطريقة صحيحة، لكن على العكس فان هيكل مستند xml صارم و غير قابل لاى اخطاء ، و خطا صغير قد يتسبب فى توقف المستند ككل.
  • فى لغة xml تتطلب اغلاق عناصرها بوسم اغلاق ، عكس لغة html يمكن اهمال ذلك كما فى الوسم


فلكى تتضح الصورة اليك اكثر، فان لغة xml لاتقوم بانشاء صفحات ويب مثل لغة html لذا يجب استخدام الاثنان معا واحدة لتنظيم البيانات والاخرى لعرض البيانات، كذلك وهذا مهم ايضا فان لغة xml لاتستخدم وسوم مخصصة مثل لغة html بل انت من تقوم بانشاء و تسمية تلك الوسوم كيفما تريد بشرط ان تراعى هيكلية المستند و قواعد الصحة validation rules .

هذا العناء الكبير لتعلم لغة xml لابد ان يوجد له فوائد، فمع كل هذا التوضيح قد تكون الفكرة مازالت غير واضحة للبعض، لذا سوف اركز فى تلك النقطة على فوائد او مهام لغة xml التى لاتستطيع لغة html القيام بها و منها سوف تتضح الصورة تماما للجميع كما فى السطور التالية:-

اولا : تخزين البيانات.
بما ان وسوم xml اصبحت هى المسئولة عن معالجة محتويات المستند الخاص بك بعيدا عن وسوم html التى تقوم بعرضها على المستعرض، فانه اصبح بالامكان تخزين تلك المعلومات فى ملف مستقل يطلق عليه ملف xml ، و كتابة تعليمات عرض تلك المعلومات فى المستعرض فى ملف اخر هو ملف html ، و هنا فاننا نضمن انه فى حالة تطلب الامر اى تغيير فى المعلومات الخاصة بالمستند، فان ذلك لن يستلزم اى تعديل فى وسوم html كما كان يحدث سابقا.

ثانيا: تبادل و مشاركة البيانات.
لغة xml تمكنك من تبادل و مشاركة البيانات فى حين ان لغة html لاتستطيع ذلك، وفى الحقيقة ان تلك اللغة قد قدمت حلولا كبيرة لمشكلة تعارض التنسيقات الخاصة بالبيانات incompatible formats و ذلك لان بيانات xml يتم تخزينها فى ملفات نصية بسيطة مما يجعلها تعمل بدون مشاكل مع مختلف نظم التشغيل، السيرفرات، التطبيقات، و المستعرضات.

ثالثا: امكانية عرض البيانات بأكثر من طريقة.
غالبية التطبيقات تنظر الى ملفات xml كقاعدة بيانات لاحتواءها على بيانات منظمة و مهيكلة، لذا فانها تقوم بعرض تلك البيانات بأكثر من شكل، و هذا مايوفر على كثير من المبرمجين الدخول فى تعقيدات قواعد البيانات.

خلاصة الامر ان لغة xml هى لغة تمكنك من انشاء الوسوم الخاصة بك و استخدامها وفق هيكل واضح تقوم انت بتحديده للتعامل مع بيانات مستندك بنظام وأيضا لفصل تلك البيانات عن وسوم html التى تتطلب طريقة محددة مسبقا فى الاستخدام.

بنهاية هذا الدرس نكون قد قمنا بتوضيح الفروق بين لغات الويب الثلاثة الاساسية، فلغة xhtml تقوم بعرض عناصر الصفحة كالجداول، النصوص.... الخ ، بينما لغة css تقوم بتحديد خصائص كل عنصر و تنسيقه اى كيف سيظهر هذا النص مثلا على المستعرض، اما لغة xml تقوم باحتواء بيانات صفحتك و تنظيمها بعيدا عن html او css وذلك لكى يسهل تبادلها او الاستعلام عنها بواسطة اى تطبيقات اخرى سواء كانت انظمة تشغيل او مستعرضات او حتى تطبيقات مكتبية مثل rss reader .

اتمنى ان تكون تلك المقالة على المستوى المطلوب، وباذن الله تعالى سوف تكون المقالة المقبلة بداية الدخول فى xhtml، تمنياتى لكم جميعا بالتوفيق.


8 تعليق:

غير معرف يقول...

وفقك الله

غير معرف يقول...

جزاك الله خيراً ،، استفدت من مقالتك كثيراً لا حرمت الأجر ،،

غير معرف يقول...

بارك الله فيك على هذا المجهود

غير معرف يقول...

بارك الله فيك على هذا المجهود

غير معرف يقول...

جزاك الله خير الجزاء
بينت لي الكثير من التساؤلات
شكراًجزيلاً

اخوك : سلمان آل عيسى

ilyass saktoun يقول...

شكرا جزاك الله خيراااااا

ilyass saktoun يقول...

جزاك الله خيراااا

غير معرف يقول...

من أفضل المقالات
لقد وضحت الفرق بين لغة HTML & XML بطريقة جميلة جدا و موجزة

 
room darkening shades