تسجيل الدخول

مشاهدة النسخة كاملة : دورة لغة الترميز XML: الدرس الثاني


ActiveUAE
17 / 09 / 2010, 50 : 10 PM
http://www.alruwaq.co.cc/upload/images/besmallah.gif



http://www.tech-wd.com/wd/wp-content/uploads/2010/01/title21.jpg



البنية الهيكلية :
الهيكلية الشبيهة بالشجرة Treelike Structure :


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

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




http://www.alruwaq.co.cc/upload/images/xml1vsv.jpg


.

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

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 يحتوي على رقم الإصدار وعلى نوع التشفير :

view source (http://www.tech-wd.com/wd/2010/01/06/xml-second-lesso/#viewSource)


print (http://www.tech-wd.com/wd/2010/01/06/xml-second-lesso/#printSource)? (http://www.tech-wd.com/wd/2010/01/06/xml-second-lesso/#about)


1<?xml version="1.0" encoding="utf-8"?>

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

view source (http://www.tech-wd.com/wd/2010/01/06/xml-second-lesso/#viewSource)

print (http://www.tech-wd.com/wd/2010/01/06/xml-second-lesso/#printSource)? (http://www.tech-wd.com/wd/2010/01/06/xml-second-lesso/#about)

1<?xml version="1.0" encoding="utf-8"?>


2<A></A>


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

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


visitors_info .
view source
print?

1<?xml version="1.0" encoding="utf-8"?>
2<A>

3<B1></B1>

4<B2></B2>
5</A>






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

view source
print?


1<?xml version="1.0" encoding="utf-8"?>
2<A>

3<B1></B1>

4<B2>
5<C1></C1>
6<C2></C2>
7</B2>
8</A>

view source
print?



01<?xml version="1.0" encoding="utf-8"?>
02<A>

03<B1></B1>

04<B2>
05<C1>
06<D1></D1>
07<D2></D2>
08</C1>
09<C2></C2>
10</B2>

11</A>




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


view source

print?




01<?xml version="1.0" encoding="utf-8"?>
02<A>

03<B1></B1>

04<B2>
05<C1>
06<D1></D1>
07<D2>E7san</D2>
08</C1>
09<C2> Learn XML</C2>
10</B2>
11</A>






* قم بحفظ الملف بامتداد .xml مثال / any_name.xml .

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

الصفات Attributes :

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

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

1- اسم الصفة .
2- قيمة الصفة .

view source
print?

01<?xml version="1.0" encoding="utf-8"?>
02<A attribute_name="value">

03<B1 parent="A" ></B1>

04<B2 parent="A">
05<C1>
06<D1></D1>
07<D2>E7san</D2>
08</C1>
09<C2> Learn XML</C2>
10</B2>
11</A>






وبهذا ينتهي الدرس الثاني ، آمل أن يحوز على رضاكم وأن تخرجوا بفائدة منه ..

في الدرس الثالث سوف نناقش إن شاء الله :

1- قواعد كتابة ملفات الـ XML
2- تطبيق عملي لإنشاء ملف يحتوي على بيانات كتّاب مدونة جماعية .



ودمتم بخير

محمد نصر
17 / 09 / 2010, 52 : 10 PM
وعليكم السلام ورحمه الله وبركاته

بارك الله فيكم اخي ****** محمد

جهد مشكور عليه

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

شريف حمدان
22 / 09 / 2010, 06 : 07 AM
جزاكم الله خيرا