المكتبة التعليمية

دورة XML : الدرس الثاني

xml
كُتب بواسطة نسمة محمد
xml

xml

البنية الهيكلية :
الهيكلية الشبيهة بالشجرة Treelike Structure :
هي أحد أشهر أشكال تنظيم البيانات في الحاسوب ، حيث تخزّن البيانات في وحداتٍ Nodes متفرّعة عن بعضها البعض ، تبدأ من الجذر Root الَّذي يحمل جميع الوحداتِ الأخرى ، وتنتهي بالأوراق Leaves الّتي لا تتفرّع عنها أيّ وحدات ، ومن هنا جاء الاسم treelike structure ، غير أنّ الفرق بين الشجرة الحقيقيّة وشجرة البيانات هو أنّ جذر الشجرة الحقيقيّة يكون في الأسفل بينما تكون أوراقها في الأعلى ، لكنّ جذر شجرة البيانات يكون في الأعلى وتكون الأوراق في الأسفل .
ولكلّ وحدةٍ من هذه الوحدات اسمًا تُعرف به ، ولا يوجد حرجٌ من أن تحمل أكثر من وحدة نفس الاسم ، فالوصول إلى الوحدات لا يعتمد على اسمها فقط ، بل يعتمد على المسار الذي تعبره لتصل إليها .
XML1 دورة XML : الدرس الثاني
.
.
وشجرة البيانات تنتهج نهجًا وراثيًا ، حيث :
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″?>
<A>
<B1></B1>
<B2>
<C1></C1>
<C2></C2>
</B2>
</A>
[/xml] [xml] <?xml version=”1.0″ encoding=”utf-8″?>
<A>
<B1></B1>
<B2>
<C1>
<D1></D1>
<D2></D2>
</C1>
<C2></C2>
</B2>
</A>
[/xml] * أخيرًا ، نكتب الوحدات النصيَّة داخل الوسوم :
[xml] <?xml version=”1.0″ encoding=”utf-8″?>
<A>
<B1></B1>
<B2>
<C1>
<D1></D1>
<D2>E7san</D2>
</C1>
<C2> Learn XML</C2>
</B2>
</A>
[/xml] * قم بحفظ الملف بامتداد .xml مثال / any_name.xml .
الآن لو قمتَ بفتح هذا الملف عبر المتصفح سوف تظهر لك العناصر بشكلٍ شجري دون أي تنسيق .
الصفات Attributes :
عناصر الـXML يمكن أن تحتوي على صفة أو أكثر تقدّم معلومات إضافية يكتبها المبرمج حول العنصر .
تُكتب هذه الصفات داخل وسم الفتح ، وتتكون من جزئين :
1- اسم الصفة .
2- قيمة الصفة .
[xml] <?xml version=”1.0″ encoding=”utf-8″?>
<A attribute_name=”value”>
<B1 parent=”A” ></B1>
<B2 parent=”A”>
<C1>
<D1></D1>
<D2>E7san</D2>
</C1>
<C2> Learn XML</C2>
</B2>
</A>
[/xml]

عن الكاتب

نسمة محمد

اترك تعليقا

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.