دورة xml : الدرس 2 : البنية الهيكلية - انشاء ملف xml
- التفاصيل
- الزيارات: 9089
البنية الهيكلية : الهيكلية الشبيهة بالشجرة 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- النصّ ( E7san ) هو وحدة نص متفرعة كابن من الوحدة D2 .
وليست ملّفات الـ XML وحدها لها هيكليّة شبيهة بالشجرة ، فكما أردفنا في الدرس الأول ، الهيكلية الشبيهة بالشجرة هي ميزة تتميّز بها لغات الترميز عامّة ، HTML أيضَا على سبيل المثال .
بعض النقاط المهمّ إدراكها عند التعامل مع ملفات XML :
1- تُعرف الوحدات في ملف XML بالعناصر XML Elements .
2- هذه العناصر :
* قد تحمل بياناتٍ نصيّة.
* أو قد تحمل وحداتٍ أخرى .
* أو قد تجمع بين هذا وذاك .
* أوقد تكون عناصر فارغة .
على اختلاف وكثرة اللغات والتقنيات الَّتي تتعامل برمجيًّا مع ملفات XML ، إلاّ أنّها في النهاية تتفق على فهم الهيكليّة الشجريّة للـ XML .
.إنشاء ملف XML :
1- افتح برنامج المفكرة أو أي محرر آخر .
ملاحظة :
توجد محررات خاصّة بلغة XML ، لكنّي أنصح باستخدام محرر Notepad++ لتحرير ملفات الـ XML والـ HTML والـ CSS وغيرها .
2- يفضل كتابة إعلان ” Declaration ” في أعلى الصفحة عن ملف الـ XML يحتوي على رقم الإصدار وعلى نوع التشفير :
[xml] <?xml version="1.0" encoding="utf-8"?>
[/xml]
* سوف نقوم بتحويل مثال الشجرة البيانيّة أعلاه إلى ملف XML عن طريق تحويل الوحدات إلى وسوم مزدوجة “Tags” :
[xml] <?xml version="1.0" encoding="utf-8"?>
<A></A>
[/xml]
العنصر الأول هو عنصر الجذر A ، جميع العناصر الأخرى سوف تكون محصورةً بين الوسمين <A></A>.
لذلك عادة ما يكون اسم الجذر معبرًا عن محتوى ملف الـ XML ، فإذا كان لدينا ملف XML يحتوي على بيانات زوار الموقع مثلاً ، يكون اسم الجذر : visitors_info .
[xml] <?xml version="1.0" encoding="utf-8"?> <A> <B1></B1> <B2></B2> </A> [/xml] |
قمنا بتحويل الوحدتين B1 وB2 إلى وسمين مزدوجين ووضعهما داخل عنصر الجذر ، وهكذا .. كلّ وحدة سوف تُحوّل إلى وسم فتح ووسم إغلاق يوضع داخل وسمي العنصر الأب لها .
[xml] <?xml version="1.0" encoding="utf-8"?>
|
* أخيرًا ، نكتب الوحدات النصيَّة داخل الوسوم :
[xml] <?xml version="1.0" encoding="utf-8"?> |
* قم بحفظ الملف بامتداد .xml مثال / any_name.xml .
الآن لو قمتَ بفتح هذا الملف عبر المتصفح سوف تظهر لك العناصر بشكلٍ شجري دون أي تنسيق .
الصفات Attributes :
عناصر الـXML يمكن أن تحتوي على صفة أو أكثر تقدّم معلومات إضافية يكتبها المبرمج حول العنصر .
تُكتب هذه الصفات داخل وسم الفتح ، وتتكون من جزئين :
1- اسم الصفة .
2- قيمة الصفة .
[xml] <?xml version="1.0" encoding="utf-8"?> |
وبهذا ينتهي الدرس الثاني ، آمل أن يحوز على رضاكم وأن تخرجوا بفائدة منه ..
في الدرس الثالث سوف نناقش إن شاء الله :
1- قواعد كتابة ملفات الـ XML
2- تطبيق عملي لإنشاء ملف يحتوي على بيانات كتّاب مدونة جماعية .