sh

الأحد، 7 يوليو 2013

البنية الهيكلية لـ xml !!


البنية الهيكلية !!
الهيكلية الشبيهة بالشجرة Treelike Structure :
هي أحد أشهر أشكال تنظيم البيانات في الحاسوب ، حيث تخزّن البيانات في وحداتٍ Nodes متفرّعة عن بعضها البعض ، تبدأ من الجذر Root الَّذي يحمل جميع الوحداتِ الأخرى ، وتنتهي بالأوراق Leaves الّتي لا تتفرّع عنها أيّ وحدات ، ومن هنا جاء الاسم treelike structure ، غير أنّ الفرق بين الشجرة الحقيقيّة وشجرة البيانات هو أنّ جذر الشجرة الحقيقيّة يكون في الأسفل بينما تكون أوراقها في الأعلى ، لكنّ جذر شجرة البيانات يكون في الأعلى وتكون الأوراق في الأسفل .

ولكلّ وحدةٍ من هذه الوحدات اسمًا تُعرف به ، ولا يوجد حرجٌ من أن تحمل أكثر من وحدة نفس الاسم ، فالوصول إلى الوحدات لا يعتمد على اسمها فقط ، بل يعتمد على المسار الذي تعبره لتصل إليها .

وشجرة البيانات تنتهج نهجًا وراثيًا ، حيث :

1-     لكلّ شجرة جذر واحد فقط ، لا يمكن للشجرة أن يكون لها أكثر من جذرٍ ولا أقل ، والجذر هو الوحدة الوحيدة الَّتي ليس لها أب تتفرّع عنه .

2-     كلّ الوحداتِ الَّتي تتفرّع عن وحدةٍ ما تصبح أبناء Children لها.

3-     أبناء الأبناء يصبحون أحفادًا  descendants للوحدة الأب .

4-     آباء الآباء يُعرفون بالأجداد أو الأسلاف ancestors للوحدة الابن .

5-     الوحدات الَّتي تتفرّع عن الأب نفسه تسمّى بالإخوة Siblings .

وبالنظر إلى شكل الشجرة أعلاه ، يمكننا استنتاج أنّه :

1-     جذر هذه الشجرة هو الوحدة A .

2-     يتفرَّع من الجذر A  ابنين هما الوحدتين B1,B2 .

3-     يتفرَّع من الوحدة B2 ابنين هما الوحدتين C1,C2 .

4-     يتفرَّع من الوحدة C1 ابنين هما الوحدتين D1,D2 .

5-     الوحدة B1 هو أخ للوحدة B2 .

6-     الوحدة C1 هو أخ للوحدة C2 .

7-     الوحدة D1 هو أخ للوحدة D2 .

8-     النصّ ( Learn XML ) هو وحدة نصيّة “Text Node” متفرعة كابن من الوحدة C2 .

9-     النصّ (mido mgek ) هو وحدة نص متفرعة كابن من الوحدة D2 .

وليست ملّفات الـ XML وحدها لها هيكليّة شبيهة بالشجرة ، فكما أردفنا في الدرس الأول ، الهيكلية الشبيهة بالشجرة هي ميزة تتميّز بها لغات الترميز عامّة ، HTML أيضَا على سبيل المثال .

بعض النقاط المهمّ إدراكها عند التعامل مع ملفات XML :

1-     تُعرف الوحدات في ملف XML بالعناصر XML Elements .

2-     هذه العناصر :

* قد تحمل بياناتٍ نصيّة.

* أو قد تحمل وحداتٍ أخرى .

* أو قد تجمع بين هذا وذاك .

* أوقد تكون عناصر فارغة .

على اختلاف وكثرة اللغات والتقنيات الَّتي تتعامل برمجيًّا مع ملفات XML ، إلاّ أنّها في النهاية تتفق على فهم الهيكليّة الشجريّة للـ XML .
.
إنشاء ملف XML :
1-     افتح برنامج المفكرة أو أي محرر آخر .

ملاحظة :

توجد محررات خاصّة بلغة XML ، لكنّي أنصح باستخدام محرر Notepad++ لتحرير ملفات الـ XML والـ HTML والـ CSS وغيرها  .

2-     يفضل كتابة إعلان ” Declaration ” في أعلى الصفحة عن ملف الـ XML يحتوي على رقم الإصدار وعلى نوع التشفير :

* سوف نقوم بتحويل مثال الشجرة البيانيّة أعلاه إلى ملف XML عن طريق تحويل الوحدات إلى وسوم مزدوجة “Tags” :

العنصر الأول هو عنصر الجذر A ، جميع العناصر الأخرى سوف تكون محصورةً بين الوسمين .

لذلك عادة ما يكون اسم الجذر معبرًا عن محتوى ملف الـ XML ، فإذا كان لدينا ملف XML يحتوي على بيانات زوار الموقع مثلاً ، يكون اسم الجذر : visitors_info .

قمنا بتحويل الوحدتين B1 وB2 إلى وسمين مزدوجين ووضعهما داخل عنصر الجذر ، وهكذا .. كلّ وحدة سوف تُحوّل إلى وسم فتح ووسم إغلاق يوضع داخل وسمي العنصر الأب لها .

* أخيرًا ، نكتب الوحدات النصيَّة داخل الوسوم :

mido magek
Learn XML
*  قم بحفظ الملف بامتداد .xml مثال / Mido magek.xml .

الآن لو قمتَ بفتح هذا الملف عبر المتصفح سوف تظهر لك العناصر بشكلٍ شجري دون أي تنسيق .

الصفات Attributes :
عناصر الـXML يمكن أن تحتوي على صفة أو أكثر تقدّم معلومات إضافية يكتبها المبرمج حول العنصر .

تُكتب هذه الصفات داخل وسم الفتح ، وتتكون من جزئين :

1-      اسم الصفة .

2-     قيمة الصفة .
mido magek
Learn XML
وبهذا ينتهي الدرس ، آمل أن يحوز على رضاكم وأن تخرجوا بفائدة منه .


0 التعليقات: