XML:
هى اختصار Extensible Markup Language والتى تعرف بلغة الترميز الموسعة كترجمة حرفية للمصطلح، وقد جائت XML فى عام 1996 كتطور طبيعى للغة
Standard Generalization Markup Language او مايعرف اختصارا SGML وهى لغة ترميز نصية استخدمت قبلا فى وصف البيانات بطريقة تشرح نفسها بنفسها او مايعرف باسم self describing اى ذاتية الوصف وتميزت هذه اللغة بالقوة ولكن عابها التعقيد وكثرة الاعتبارات فى ترميزها للبيانات مما جعلها لاتناسب تبادل البيانات عبر الشكبات بنجاح وقياسية.
ومن عبائتها ظهرت XML بقوة لتقدم حلا مميزا لترميز البيانات بقياسية وسهولة، وتستخدم XML
لغرض هيكلة البيانات او بناء البيانات عن طريق وصفها باوسمة بين اقواس < > مثل لغة الويب HTML غير ان HTML تختلف عنها بكون اوسمتها كلمات محجوزة سلفا او معرفة مسبقا فضلا عن كون HTML لغة ترميز تهتم بطريقة عرض البيانات – اى الشكل الذى ستظهر عليه البيانات فى المتصفح مثلا - وليس بنية البيانات ذتها او وصفها.
وافضل طريقة لكى تتضح فكرة هيكلة البيانات هو تطبيق مثال لنفترض فيه ان لدينا مجموعة من الكتب المختلفة، وكل كتاب بالمجموعة له صفات تميزه مثل العنوان والمؤلف والرقم الدولى ISBN والسعر، وكل مانريده هنا هو وصف
هذه المجموعة بطريقة تشرح كل عنصر وتبين قيمة صفاته – وهذا هو المفهوم الأبسط
لهيكلة البيان او العنصر – بطريقة سهلة مقروءة وتتمتع بالقياسية ، ولكى يتضح
المثال اكثر فسنخطو نحو تطبيقة بكلتا اللغتين - HTML و XML - لبيان الفرق بين توصيف البيانات وهيكلتها.
الآن لدينا عدة عناصر وهى الكتب وكل عنصر
منها يحتوى على مجموعة من الصفات الأساسية الخاصة به وهى العنوان والمؤلف وISBN والسعر، وجدير بالذكر ان هذه
الصفات الاساسية قد يتسم بها اكثر من عنصر مع اختلاف القيم بالطبع ( مثلا وجود
كتاب بعنوان اخر او مؤلف اخر وهكذا ) كما يمكن لكل عنصر ان يحتوى على صفات اضافية
مثل تاريخ الاصدار او رقم الطبعة او حتى دار النشر مما يعنى وجود عناصر متشابهة فى
النوع متشاركة فى وجود بعض الصفات الاساسية مختلفة فى عدد هذة الصفات وبالطبع فى
قيمتها.
ولتبسيط هذا المثال تعالوا نبدأ فى توصيف
عنصر واحد – كتاب واحد – بلغة HTML
وبيان كيف تهتم هذه اللغة فقط بطريقة عرض العنصر على المتصفح، ثم نمضى بترميز هذا
العنصر بلغة XML وبيان كيف تهتم هذه
اللغة بالبيانات نفسها وطريقة تخزينها وتوصيفها فضلا عن نقلها بمعيارية قياسية.
يمكننا الآن ان نفتح ملف text ونكتب بداخلة الكود التالى والذى
يمثل سطور بلغة HTML توضح
عرض عنصر واحد وهو كتاب " One Hundred
Years of Solitude
" - مائة عام من العزلة - لماركيز:
<html>
<head>
<title> Book </title>
</head>
<body>
<p>
Title: One Hundred Years of Solitude.
<br/> Author: Gabriel Garcia Marquez.
<br/> ISBN: 128-541-99
<br/> Price: 88 L.E.
</p>
</body>
</html>
<head>
<title> Book </title>
</head>
<body>
<p>
Title: One Hundred Years of Solitude.
<br/> Author: Gabriel Garcia Marquez.
<br/> ISBN: 128-541-99
<br/> Price: 88 L.E.
</p>
</body>
</html>
نقوم بغلق ملف text وتغيير امتدادة من .txtالى .html وتأكيد التغيير لذلك الامتداد
بالضغط على زر الموافقة (فى بعض الاحيان يكون الامتداد غير ظاهر ويمكننا اظهاره
فقط بتغيير اعدادات النظام كالأتى:
(<click>Computer
- <open> Organize- <click> Folder and search options - <select tab> View - <uncheck
option> Hide extensions for known files types - <press> OK)
سنلاحظ تغيير شكل
الايقونة الخاصة بملف text لتتحول الى ايقونة
صفحات الويب والخاصة بالمتصفح المستخدم، وعند تشغيل الملف على المتصفح يظهر كالشكل
1.
![]() |
| Figure 1 - Book HTML |
ونلاحظ ان اكواد HTML السابقة اهتمت بطريقة عرض العنصر وكيفية ظهوره على المتصفح مستخدمة
فى ذلك اكواد واوسمة HTML القياسية والتى يترجم
كل منها لأداء وظيفة محددة معرفة مسبقا بالضرورة مثل وسم <br/> والذى يقوم بانهاء السطر الحالى والتحرك لسطر جديد ، ومثل وسم <p> والذى يحدد فقرة كتابية جديدة، ونلاحظ ايضا ان هذه الاوسمة لاتعمل
فى حالة تغيريها فلكل منها وظيفة منوطه بها.
وذلك على عكس XML والذى تحتوى اوسمته على كلمات حرة تحددها بنية العنصر فى نسق
الملف - بشرط ان نلتزم بقواعد بناء الملف بالطبع - كما سنتحدث عنها لاحقا، وعليه
فلو اردنا ان نصف العنصر السابق فى ملف XML فسيكون علينا ان نفتح
ملف Text ونكتب بداخله الكود كالتالى:
<Book>
<Title> One Hundred Years of Solitude </Title>
<Author> Gabriel Garcia Marquez </Author>
<ISBN>128-541-99</ISBN>
<Price> 88 L.E. </Price>
</Book>
وسنغير الامتداد هذه المرة الى .xml ثم نوافق
على حفظ التغيرات، وسيتغير شكل الايقونة وسيصبح ايضا بامكان المتصفح ان يفتحه
ليكون كالشكل 2.
![]() |
| Figure 2 - Book XML |
ونلاحظ من الشكل الشجرى للعرض ان المتصفح
اهتم هذه المرة ببيان هيكل العنصر<Book>
ذاته وبأنه
يحتوى على اربعة خصائص هى <Title>
<Author> <ISBN> <Price> ولكل خاصية قيمة -
المحددة بالاسود السميك مثل 88
L.E. - كما هو موضح بالشكل السابق، وبالطبع ان اردنا
اضافة عناصر جديد – كتب جديدة – فان ذلك ممكنا بسهولة وستأخد ترتيبها فى الهيكل
الشجرى حسب وضعها شرط ان نراعى التركيز والدقة اثناء كتابة الملف وذلك لعدم قدرة المتصفح على معالجة الاخطاء او التعامل معها مثلما يتعامل مع اخطاء ملفات HTML.
وبعد ان تعرفنا على XML يتضح ان مصطلح ترميز البيانات هذا ياتى من كونها لاتحتوى على اى
اوسمه خاصة بها وانما تمثل اوسمتها العنصر وخصائصة فقط لتعطى بنية منظمة سهلة
الكتابة والقراءة والحفظ وكذلك الاسترجاع ، والاكثر اهمية من ذلك هو قياسية XML نفسها بين المنصات او الاجهزة على حد سواء.
والنقطة السابقة هى من اهم المميزات والتى
تعطى اللغة قوتها الحقيقية حيث يمكننا نقل بيانات الملف السابق مثلا او مشاركته
بين عدة منصات او انظمة (Frameworks
or Systems) مثل (Windows, Linux, Mac...
etc)، وليست المنصات والانظمة فقط بل المكونات المادية كذلك (Devises or Components) مثل
(Computers, Mobiles, PDA …etc) وهو مايعطى لهذه اللغة مرونتها وقابلية
استخدامها لتمثل حلا ذكيا لتبادل البيانات وحفظها ومشاركتها الى اخر هذه العمليات
الى جانب امكانية توصيف البيانات وتعريفها على ملف XML وفرض التحقق من صحتها كما سنتعلم بعد ذلك.
والتدوينة ماهى الا مدخل للتعريف بلغة
الترميز الرائعة XML وستتبع لاحقا باذن
الله باجزاء اخرى فى انشاء الملفات ونقلها وعملها مع قواعد البيانات الى آخر هذه
الموضوعات الشيقة..
الى حينها دمتم
فى رعاية الله ..



ليست هناك تعليقات:
إرسال تعليق