‏إظهار الرسائل ذات التسميات javascript. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات javascript. إظهار كافة الرسائل

شرح برنامج JAVA

البرنامج الذي نتحدث عنه اليوم هو برنامج الـ Java والذي يوفر مجموعة كبيرة من ملفات الأبليت في النسخة المجانية منه و التي يمكن تخصيصها بما يتلاءم من متطلبات المستخدم. و في النسخة المجانية، يتم ربط الأبليت بموقع المصممين لها اذا تم الضغط عليها بالماوس اليمين.

حتى نستطيع استخدام البرنامج أحب ان اوضّحبعض الحقائق عن الأبليت:

· الأبليت عبارة عن ملف منفصل ينتهي بـ: class و يتم ادراجه في ملفات الـ HTML كما يتم ادراج الصور و الملفات الصوتية.

· بعض ملفات الأبليت تتوقع من المصمم ادخال بعض ال parameters لها عن طريق التأشيرة param التي يتم ادراجها داخل تأشيرة ال applet

· يفضّل وضع ملفات الأبليت (classes) في نفس الحافظة التي تحوي ملف الhtml الذي اندرجت فيه، و اذا كان غير ذلك فلابد من وضع codebase في تأشيرة الأبليت تحديد الحافظة التي تحوي ملفات ال class.

الشاشة الأولى


الأجزاء الوردية لابد من تخصيصها، الاجزاء النفسجية اختيارية

عند تشغيل البرنامج، ستظهر لك هذه الشاشة التي تنقسم للأجزاء الموضحة:

الجزء (1): يمثّل الأقسام التي تنقسم اليها الأبليت(s) حيث ان كل مجموعة تختص بشيء معين موجودة في قسم معيّن. و قد اخترت في المثال الذي سنعمل عليه ان شاء الله قسم البنرات.

الجزء (2): يمثّل الأبليت(s) التي تندرج تحت القسم المختار.

الجزء (*): يمثّل شرح للأبليت الحالية التي تم اختيارها من القائمة المنزلقة في الأعلى.

الجزء (**): بالضغط على هذا الزر، ستشاهد عرضاً لمثال على الأبليت الحالية (المختارة في القائمة المنزلقة).

الجزء (***): يمكنك حين تضغط على هذا الزر أن تشاهد أمثلة على جميع الأبليت(s) التي يوفرها البرنامج.

الشاشة الثانية

نلاحظ في صف القوائم، وجود قائمة File والتي يمكن بها حفظ عملك الحالي لاتمامه فيما بعد، أو فتح ملف موجود. و في قائمة ال Options يمكنك تحديد المتصفح الذي تريد ان تشاهد الأبليت فيه.

في قائمة Help و هي القائمة المهمة يمكنك الحصول على المساعدة على الأبليت الحالية عن طريق الاختيار الأول، الذي يتغير كلما اخترت أبليت جديدة.

و توفر بقية الخيارات في هذه القائمة مساعدة وافية و كافية لأي شي يستعصي عليك

في الشاشات التي تلي هذا السطر، تمثّل المناطق المحدد بالأصفر مناطق يمكن تجاهلها، أو اختيارية التعديل و تميز بعلامة النجمة. تذكّر أيضاً انك يمكن بعد كل تعديل ان تضغط على الزر (Preview) ترى تأثير التغييرات التي تقوم بها على الأبليت قبل أن تحفظها في ملفك :-)

الشاشة الثالثة

تمثل هذه الشاشة، المدخلات التي تتوقعها منك الأبليت. تختلف المدخلات من أبليت إلى أخرى. لذا قد ترى شاشة أخرى غير هذه اذا اخترت أبليت غير التي اخترناها لمثالنا. و لكن يمكنك أن تستعين بهذا المثال عند استخدامك لأبليت(s) أخرى.

و هذه الأبليت تأخذ عدداً من الصور التي تراها معروضة في الجزء (2)، و يمكنك اضافة المزيد من الصور، حذف اي صورة، اعادة ترتيب ظهور الصور باستخدام الأزرار في الجزء (1).

الجزء (3): يحتوي على جزئين العلوي منهما يمثل الرابط الذي يأخذنا له الضغط على الصورة المختارة في الجزء (2) ، و هكذا يمكننا تحديد الرابط لكل صورة. يمكن ان يكون الرابط كاملاً كما أوضحت في المثال على اليمين، و ممكن أن يكون بالنسبة لموقع الملف الذي سيحتوي على الأبليت.

الجزء (*)، (**): يمكنك من تحديد حجم الصورة، و مقدار التكبير. و تحديد حجم و عدد المربعات التي سنقلب على كل صورة (في هذه الأبليت)

الجزء (***)، (****): يمكنك من تحديد لون الخلفية أو صورة الخلفية.

الشاشة الرابعة

الجزء (*): من هذه الشاشة يختص بتحديد ما ستستهلكه الأبليت من الـ CPU. كما تلاحظ انه يمكنك تحديدها يدوياً أو بالضغط على أحد الأزرار و كل منها يعتني بجانب دون الآخر :-)

الجزء (1): يمكنك من تحديد الجملة التي ستظهر للمستخدمين الذين لا تدعم متصفحاتهم الجافا، أو انهم اختاروا عدم تفعيلها.

الجزء (2): يمكنك من اختيار صورة لتكون دائماً في واجهة هذه الأبليت، لنفرض مثلاً شعار موقعك أو شيء من هذا القبيل.

الشاشة الخامسة

يمكنك ببساطة الانتقال للشاشة التالية بالضغط على مفتاح( Next)

الشاشة السادسة

الآن وصلنا إلى نهاية المطاف حيث بامكانك الآن اتخاذ أحد اجرائين.

الأول (و هو ما أنصح به): الضغط على الزر( Copy all files to..) حيث سيطلب منك تحديد موقع الملف الذي ستضع فيه الأبليت. ما أنصح به، ادخال ملف جديد في نفس الفولدر أو الحافظة التي تحتوي على الملف الذي تريد وضع الأبليت فيه، بهذه الخطوة سيقوم البرنامج بنقل جميع الملفات (classes) اللازمة للموقع المحدد.

الثاني: و هو نقل الملفات يدوياً إلى الحافظة، و نقل الكود في الجزء (*) إلى أي صفحة تريدها.

(**): يمكنك من وضع الأبليت على سطح المكتب أو تصديرها على هيئة Screen Saver و هذه من الاختيارات التي يوفره البرنامج.

عند الضغط على الزر Publish سيعطيك تعليمات مفيدة :-)

يمكنك الآن أن تفتح الملف الذي أدخلت فيه الأبليت لترى الأبلت في صفحتك. و لكن لا تنسى تحميل ملفات الـ class في نفس المكان الذي تضع في ملف الهتمل.

إقرأ المزيد... Résuméabuiyad

وضعية الكود في الصفحة 1

أين يمكنني وضع الجافا سكريبتس كود في صفحتي ؟ في الأصل ، في أي مكان تريده طالما كان هذا المكان بين وسمي ال :



<HTML>
<HEAD>

أي مكان هنا


</HEAD>
<BODY>

أي مكان هنا


</BODY>
</HTML>


طبعا يجب إعلام المتصفح أن هذا الجزء من الصفحة هو جافا سكريبتس ، ونتم ذلك بوضع :


<Script language="JavaScript">
الكود هنا

</Script>


كما ترون في الأعلى ، إبتدأنا بتبيه المتصفح الى أن مابعد :


<Script Language="JavaScript">


هو سكريبت مكتوب بلغة الجافا، ولايفوتني أن أذكر أيضا أن هناك فيجوال بيسك سكريبتس لكنها غير مدعومة سوى من قبل الإنترنت إكسبلورر ، كما أنها تستخدم في إنشاء صفحات السيرفر الفعالة ASP


ثم نأتي بعد ذلك الى :


<!--



وهي لتنبيه المتصفحات القديمة ، وتلك التي لاتدعم الجافا سكريبتس الى تلافي السطور القادمة ، وبدون هذه العلامة ، سيظهر السكريبت على الصفحة كتبابةً! ويجب إضافتها الى كل كود حتى لاتشوه شكل صفحتك . ثم نأتي الى أهم شيء في هذا القسم :


alert("Welcome To C4arab.com")


وهذا هو مربط الحديث هنا ، وهو الكود . هذا الكود لإظهار رسالة للزائر كلما دخل الى الصفحة . ثم في النهاية نأتي إلي :


</script>


لإعلام المتصفح أن الكود قد إنتهى ..


وكما هو الحال في ال HTML وكذا لغات البرمجة الأخرى ، يمكنك إضافة بعض التعليقات الى السكريبت وذلك للتذكير أو الشرح ، لاننسى أن المحترفين دائما يدرجون بعض التعليقات والشروحات لتسهيل تعديل الكود لاحقا ، أو حتى قراءته ، كل ماعليك هو وضع هاتين العلامتين قبل التعليق :


//



في حالة أردت كتابة سطر واحد فقط ، أو :


/*

التعليق هنا .. سطر أو عدة سطور

*/




والآن ، أنت على أتم الإستعداد الى تعلم أساسيات اللغة ، لنبدأ رحلتنا الحقيقة في عالم الجافا سكريبتس ، طبعا قد تحس بالحيرة في بعض المقاطع ، لكن صدقني ، إن أهم شيء على الإطلاق في لغات البرمجة كلها ، هو تدعيم المعرفة بالأمثلة ، والتجربه لترسيخ المفاهيم.
إقرأ المزيد... Résuméabuiyad

عبارات جافاسكريبت

وضع عبارات الجافا سكريبت في ملف خارجي



 



بسم الله الرحمن الرحيم

 

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

يمكن وضع علامات <script> في أي مكان هنا


<head>

    <script>

    عبارات جافاسكريبت

    </script>

</head>

أو هكذا


<body>

    <script>

    عبارات جافا سكريبت

    </script>

</body>

تقبل علامة <script> سمتان، هما: النوع type ، و يمكن ضبطها بهذا الشكل

<script type = "text/javascript">

واللغة language ويتم ضبطها بهذا الشكل

<script language = "javascript">

هناك أيضا سمه أخرى من السمات التي تقبلها علامة <script> وهي src و يمكن ضبطها بحيث تشير الى ملف خارجي يحتوي على اوامر جافا سكريبت.



يحتوي الملف الخارجي على عبارات جافا سكريبت فقط دون الحاجة الى تضمينها بين الوسمين <script> و <script/> ، و يكون امتداد هذا الملف js. بدلا من html.

على سبيل المثال، العبارة

<script src = "example.js">

تشير الى ملف اوامر خارجي اسمه example.js وهو موجود في نفس المجلد مع ملف الـ html الذي توجد به العبارة.

تطبيق:

1- افتح برنامج النوت باد و اكتب العبارتين الموضحتين في الصوره واحفظ الملف باسم external مع الإمتداد js.


document.bgColor = "red";

document.write ("<h1> This is an external file </h1>");




2- افتح ملف نوت باد آخر و قم بمناداة الملف الخارجي external.js كما هو موضح بالصورة. احفظ الملف باسم external مع الإمتداد html.


<html>
   <head>
   </head>

   <body>
        <script language = "javascript" src = "external.js">
        </script>
   <body>


<html>





3- افتح ملف external.html في مستعرض الويب.

سوف يتم تنفيذ عبارات الجافاسكريبت الموجودة في ملف الأوامر الخارجي كما هو موضح
إقرأ المزيد... Résuméabuiyad

سلسلة تعلم VBScript -لجزء الاول - المبادئ

نظرا لتعدد الأسئلة حول لغة VBScript ، فإنني أحببت المشاركة في هذا الموضوع بإعطاء شرح حول هذه اللغة وقد وضعت خطة أولية لطريقة تنظيم الدروس حيث قمت بتقسيم الموضوع حسبما رأيت إلى ثلاث أجزاء، يشتمل كل جزء على عدد من الدروس التي تنطلق من الأسهل إلى الأصعب .

وهذه هي الأجزاء الثلاثة التي (سأحاول) الكتابة عنها :

1 - الجزء الأول (أسس ومبادئ) حيث يعطيك هذا الجزء المدخل لهذه اللغة مشتملا على توضيح لكافة إمكانياتها وهو يفيد المبرمج المبتدئ والمتوسط .

2 - الجزء الثاني (مفاهيم اللغة) –يمكن لمن يملك أحد المراجع العربية حول هذه اللغة أن يستغني عن هذا الجزء بخلاف الأجزاء الأخرى- وفيه يتم التطرق إلى مفاهيم البرمجة بهذه اللغة أو بالأحرى طريقة تنفيذ مفاهيم البرمجة باستخدام هذه اللغة وسيكون انتهائك من استيعاب هذا الجزء يعني قدرتك على استخدام هذه اللغة في تصميم صفحتك .

3 - الجزء الثالث (الكائنات) وقد قمت بإفرادها في هذا الجزء نظرا لتشعبها وسأحاول اختصاره قدر الإمكان ، وأيضا في هذا الباب سأتطرق إلى مواضيع متقدمة مثل طرق تنفيذ الباتش الحديثة في النظام ويندوز وغيرها من الأمور التي لا توفرها – حسب علمي القاصر – المراجع العربية ……… أتتمنى أن أكون وفقت في ذلك ، والآن لننطلق إلى الدرس الأول .


-------------------------

الدرس الأول

ما هي VBScript ؟

هي لغة سكريبت (نصية) تعمل في بيئة إنترنت وإنترنت، وتتشابه في مفاهيمها البرمجية مع لغة فيجوال بيسك مع بعض التعديلات التي تتلاءم طبيعتها المتعاملة مع الإنترنت .


ظهور هذه اللغة:

وقد ظهرت هذه اللغة المبسطة المشتقة من اللغة الأم Visual Basic اثر ظهور JavaScript المعقدة بعض الشيء، والتي أنشئت لحل مشكلة بطأ تبادل البيانات بين الخادم والزبون إذ تأخذ عملية طلب المعلومات من الزبون وإرسالها للخادم ومعالجاتها وإعادة إرسالها زمناً ليس بالقصير، حيث تتميز بامكانيتها معالجة البيانات على الجهاز الزبون .


مميزات اللغة:

- سهولة التعلم.. هذه هي إحدى أشهر مزايا هذه اللغة والتي تميزها عن كافة لغات السكريبت الأخرى .
- أكثر مرونة … حيث تتميز هذه اللغة بأنها أكثر تساهلاً في قواعدها مقارنةً باللغات الأخرى . فعلى سبيل المثال، لا تفرق هذه اللغة بين الأحرف الكبيرة والصغيرة في أسماء المتغيرات .


تطبيقات اللغة:

بالإضافة لما سبق تمكِّنك اللغة من :

- تحميل وتشغيل البرمجيات الإضافية للإنترنت مثل ActiveX Document و Java Applet حيث تعد وسيط جيد بينها وبين مستندات HTML .
- التحكم بتنسيق الصفحة بشكل أوسع مما يمكنك عمله بواسطة HTML وإضافة بعض الحركة على الصفحة .
- تعتبر هذه اللغة إحدى لغات السكريبت التي يمكن البرمجة بها في صفحات ASP ولعل هذا التطبيق اشهر التطبيقات لهذه اللغة .
- ما تعتبر أيضاً إحدى اللغات المستخدمة في إنتاج ملفات الباتش الحديثة في ويندوز ( باستخدام برنامج Microsoft Scripting host ) كما يمكنك في هذه الحالة إنتاج الفيروسات ( من نوع حصان طروادة ) مثل : فيروس الحب المكتوب بلغة VBScript .
عيوب اللغة:

لقد أصبحت اللغة VBScript أحد الحلول السهلة المطروحة من قبل مايكروسوفت ، لكن يعيب على هذه اللغة افتقارها لبعض جوانب القوة في بعض لغات السكريبت الأخرى مثل JavaScript ، والأهم من ذلك أنها غير مدعومة من قِبل بعض المتصفحات مثل متصفح نتسكيب وما قبل الإصدار الرابع من متصفح إنترنت اكسبلورر . ولا داعي للجزع فالكل يعلم مدى هيمنت إنترنت اكسبلورر على أسواق المتصفحات حيث أن وجود النظام windows98 يعني وجود الإصدار الرابع من المتصفح السابق .


ملاحظة :
~~~~~~


يمكن لمن يملك متصفح نتسكيب أن يحصل على بريمج إضافي Add-In لتمكين المتصفح من ترجمة تعليمات VBScript، يمكن الحصول إلى البريمج السابق من الموقع :

www.ncompasslabs.com
إقرأ المزيد... Résuméabuiyad

سلاسل حروف strings



بسم الله الرحمن الرحيم

 

في لغة الجافا سكريبت من المهم معرفة كيفية التعامل مع المتغيرات variables. المتغير هو مكان تخزين مؤقت تحفظ فيه قيم معينة، عندما تتغير هذه القيم، يمكن للمستخدم تحديث المتغير بحيث يحفظ القيم الجديدة.

هناك عدة أنواع من المتغيرات، وكل منها يستطيع تخزين أنواع معينة من البيانات:

    1- أرقام صحيحة integer numbers

    2- أرقام بعلامة عشرية floating-point numbers

    3- سلاسل حروف strings

    4- قيم منطقية Boolean

 



أولا: أرقام صحيحة integer numbers:

هي قيم عددية لا تحتوي على علامة عشرية، وقد تكون موجبة أو سالبة. تظهر علامة الطرح (-) قبل القيم السالبة.

تكتب الأعداد الصحيحة إما بالنظام العشري decimal، أو بالنظام السداسي عشر hexadecimal، أو بالنظام الثماني octal. والفرق بين هذه الأنواع يكون في الأساس الذي يستخدمه نظام الترقيم.

مثلا، النظام العشري المعتاد يستخدم ارقام للعد (من صفر الى 9). أما النظام السداسي عشر فهو يستخدم 16 رقما للعد (من صفر حتى 9 ثم من a حتى f)، وتتميز هذه الأرقام بوجود حرفي 0x قبلها. والنظام الثماني يستخدم ثمانية أرقام للعد (من صفر حتى 7)، وتتميز هذه الأرقام بوجود صفر في بدايتها.

على سبيل المثال، الرقم 37 هو عدد صحيح بالنظام العشري، والرقم 037 هو عدد صحيح بالنظام الثماني، والرقم 0x37 هو عدد صحيح بالنظام السداسي عشر.

تطبيق:

1- افتح ملف نوت باد جديد. قم بالإعلان عن 3 متغيرات باستخدام كلمة var  واستخدم عبارة document.write لعرض القيم كما يلي:





<html>
<head>
</head>

<body>
   <script language = "javascript">
        var decimalNum, hexadecimalNum, octalNum;
        decimalNum = 37;
        hexadecimalNum = 0x37;
        octalNum = 037;

        document.write("This is a decimal number: " + decimalNum + "<br>");
        document.write("This is a hexadecimal number: " + hexadecimalNum + "<br>");
        document.write("This is an octal number: " + octalNum + "<br>");
   </script>
</body>

</html>



2- افتح الملف السابق في مستعرض الويب. سوف يتم عرض قيمة كل واحد من المتغيرات كما في الصورة:


يمكنكم أن تجربوا مع أي رقم آخر والتأكد من القيم.




ثانيا: أعداد ذات العلامة العشرية floating-point numbers:

هي أعداد تحتوي على كسور و بها علامة عشرية، و يمكن لهذه الأعداد أن تكون موجبة أو سالبة. واذا كانت الأعداد كبيرة جدا أو صغيرة جدا، فإنه يمكن كتابتها بالترميز العلمي scientific notation، وهذا الترميز يضع حرف الـ E داخل الرقم ثم يتبعه بعدد المنازل العشرية التي تحركها العلامة العشرية. تحرك الأرقام الموجبة العلامة ناحية اليمين، وتحرك الأرقام السالبة العلامة ناحية اليسار.

على سبيل المثال، الرقم 7.32E7 يمثل الرقم 73,200,000 والرقم 5.014E-4 يمثل الرقم 0.0005014

ملاحظة:

 

حجم الرقم هو الذي يحدد إن كان الكمبيوتر سيعرضه باستخدام الترميز العادي أو الترميز العلمي. فالأرقام الأصغر من 1.0E-7 يتم عرضها بالترميز العلمي. أما الأرقام الموجبة فإنها يمكن أن تصل الى الطول 1.0E20 قبل أن يتم عرضها بالترميز العلمي.

تطبيق:

1- افتح ملف نوت باد جديد. قم بالإعلان عن 4 متغيرات و عين أعداد عشرية كقيمة لكل متغير، قيمتان كبيرتان، و قيمتان صغيرتان. استخدم عبارة document.write لعرض القيم كما يلي:





<html>
<head>
</head>

<body>
   <script language = "javascript">
        var largeNum, veryLargeNum, smallNum, verySmallNum;
        largeNum = 123456789000000000000.0;
        veryLargeNum = 5.14E52;
        smallNum = 0.000000123;
        verySmallNum = 6.023E-23;

        document.write("This is a large number: " + largeNum + "<br>");
        document.write("This is a very large number: " + veryLargeNum + "<br>");
        document.write("This is a small number: " + smallNum + "<br>");
        document.write("This is a verySmall number: " + verySmallNum + "<br>");
   </script>
</body>

</html>



2- افتح الملف السابق في مستعرض الويب. سوف يتم عرض قيمة كل واحد من المتغيرات
إقرأ المزيد... Résuméabuiyad

دورة Xml [الدرس الرابع-الجزء الأول]: منهجية عمل مستندات Xml وتكوينها الهرمي


الدرس الرابع
منهجية عمل مستندات XML وتكوينها الهرمي .


سنناقش اليوم التركيب الهرمي الذي يكون مستندات XML وكيفية بناء البيانات وكيفية تمثيلها في مستند XML
عندما نكون أمام كمية معلومات ضخمة أو حتى متوسطة الحجم فمن الأفضل تجميع هذه المعلومات التي تنتمي إلى موضوع واحد مع بعضها البعض بدل من تمثيلها كما هي .


نعطى مثال لكي توضح الصورة .


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

فنجد مطوري البرمجيات تستخدم هذا النموذج منذ سنوات عدة باستخدام بنية بينات تسمى Object model أو نموذج الكائن وهى مرتبطة مع بعضها بتسلسل هرمي . أيضا في لغة XML تجمع البينات في تسلسل هرمي فالبنود في المستند تتبع بعضها البعض بعلاقات Parent / Child أو الأب / الابن .

وهذه البنود تسمى بالعناصر elements وهى أجزاء منفردة من المعلومات .


نأخذ مثال الاسم السابق شرحه ونمثله بطريقة هرمية كالشكل التالي.





نلاحظ أن البند < Name> هو أب للبند < First> والبند < First> هو ابن للبند < Name> والبنود < First> و< Middle> و < Last> جميعها انساب لبعضها البعض لان جميعهم أبناء للبند < Name>

ونلاحظ أيضا أن النص هو ابن للعنصر الذي ينتمي له فالنص Emad يمثل ابنا للبند < First> .تسمى هذه البنية من البينات بالشجرة Tree فكل جزى من الشجرة يحتوى على أبناء تسمى بالفروع Branches وجميع الأجزاء التي تحتوى على أبناء تسمى بالأوراق Leaves

إذا نقول :


Element Content

العنصر < Name> يعتبر element content لان هناك عناصر تنتمي له وليس مجرد نص فإنه يعتبر محتوى عنصر .


Simple Content

العنصر < First> و < Middle>و< Last> هي محتوى بسيط Simple Content لأنها تحتوى على نص فقط .


Mixed Content

أيضا يمكن للعناصر أن تحتوى على عناصر أخرى وعلى نصوص في تلك الحالة فان للعناصر تلك محتوى مختلط Mixed Content على سبيل المثال .


نلاحظ في المثال هذا أن للبند < parent> ثلاث أبناء

نص ,, يحتوى على النص Computer

عنصر ,, < em> وهو عنصر ابن أيضا

نص ,, نص أخر يحتوى على النص arab

فيمكننا ألان تمثيل هذا المثال ببنية شجرية هكذا .




نرجو أن تكونوا تفهمتم كيفية التمثيل الهرمي للبنود والعلامات فيما بينهما فأنك حينما تفهم ذلك ستتمكن من فهم طبيعة لغة XML


منهجية عمل XML وقواعدها :-



1) اللواحق والنصوص والعناصر Tags and Text and Elements


اللاحقة أو ما يطلق عليها البعض والوسم (Tag) هي عبارة عن كلمة أو مصطلح موضوع بين رمزي إحاطة > < يمثل رمزا معرفا لتنسيق ما وذلك في مستندات HTML بينما يمثل اسما لعنصر Elements في مستندات XML

مثل ....




وكما تلاحظ فان الـ Tag تأخذ الطابع الزوجي فكل لاحقة لها لاحقة مقابله لها تعرف الأولى لاحقة البداية Start Tag وتعرف الثانية بلاحقة النهاية End Tag . الاختلاف بين الاثنين هو أن لاحقة النهاية تحتوى على الرمز “/” .


في XML جميع المعلومات الموجودة بين لاحقة البداية ولاحقة النهاية نسمى بالعناصر Element وبالتالي فان .


< first> هي لاحقة بداية

< /first> هي لاحقة نهاية

< firest>Adel< /first> هو عنصر



Element Content

النص الواقع بين لاحقة البداية ولاحقة النهاية يسمى بمحتوى العنصر Element content



PCDATA

المحتوى الواقع بين لاحقتين عبارة عن بيانات ويعرف في هذه الحالة ببيانات الرمز المعرب PCDATA وذلك إذا احتوى هذه العنصر على معلومات نصية مثل العنصر < middle> فهو PCDATA


Root Element

المستند ككل بدء باللاحقة < name> وانتهاء باللاحقة < /name>فهو يمثل عنصر يحتوى على مجموعة من العناصر وهنا نطلق عليه عنصر الجذر Root Element



قوانين العناصر

يجب على مستندات XML الخضوع لهذه القوانين كي تشكل فعليا مستندات XML محكمة الهيئة Well-formed XML Documents

- لكل لاحقة بداية لاحقة نهاية مماثلة لها .

- لا يمكن للواحق أن تتداخل .

- يحتوى مستند XML على عنصر جذر واحد فقط.

- لغة XML حساسة لحالة الحروف Case-Sensitive

- لغة XML لا تتجاهل المساحات الفارغة في مستنداتها .




أسماء العناصر :-

لغة XML توفر لك الحرية في تسمية العناصر فهي لا تحتوى على أسماء محجوزة كما في معظم اللغات , فهي لديها مرونة كبيرة في اختيار الأسماء . ولكن يوجد مجموعة من القوانين التي يجب مراعاتها :-

- يمكن للأسماء أن تبدأ بأحرف لاتينية أو غير لاتينية أو أن تبدأ بالرمز underscore(_) ولكن لا يمكن أن تبدأ برقم أو بعلامة ترقيم .

- بعد الحرف الأول يمكن للأسماء أن تحتوى على أرقام بالإضافة إلى الرمزين " _ " و " . "

- لا يمكن للأسماء أن تحتوى على فراغات .

- لا يمكن للأسماء أن تحتوى على ":" فهو محجوز في XML

- لا يمكن للأسماء أن تبدأ بالأحرف XML سواء كانت بأحرف صغيرة أو كبيرة .

- لا يمكن أن يكون هناك فراغ بين قوس الإحاطة المفتوح < وبين اسم العنصر




2) الصفات Attributes


أن مستندات XML يمكن أن تتضمن صفات أو سمات معينة attributes الصفات عبارة عن اسم معين تسند له قيمة معينة بحيث يرتبط ذلك الاسم وتلك القيمة بعنصر معين في مستند XML .


مثل ..



يجب أن تحتوى الصفات على قيم ويجب أن تكون هذه القيم واقعة بين علامتي اقتباس ولا يشترط أن تكون علامة الاقتباس مفردة أو مزدوجة .

يمكن للصفات أن تقدم بيانات وصفية Metadata والتي يمكن أن لا تكون وثيقة الصلة بمعظم التطبيقات التي تتعامل مع المستندات XML

على سبيل المثال إذا علمنا أن بعض التطبيقات يمكن أن تهتم بالاسم المستعار Nickname ولكن معظم التطبيقات لا تهتم بهذه المعلومات فان استخدام هذه المعلومات كصفة سيكون ذا معنى .

إذا ما الذي تقدمه الصفات ولا يمكن للعناصر أن تقدمه .


مثال ..



أيضا ,,,



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

فيما أن البعض الآخر يرى إن عملية تداخل وتعشيش العناصر سهل .

مجموعة أخرى ترى أن الصفات تستهلك مساحة اقل بكثير من العناصر . فمثلا المثال الأول لو قمنا بكتابته بواسطة الصفات سيكون بهذا الشكل .




ولكن ذلك قلل من مرونة مستندات XML التي تتسم بالمرونة .

- في النهاية نقول إن عملية أفضلية الصفات عن العناصر أو العناصر عن الصفات تعود على اختيار الشخص وعلى أسلوبه . فاختار منهم ما يشعرك بالارتياح .



3) التعليقات Comments

هي عبارة عن إضافة النصوص التي لا تشكل جزءا من المستن و إنما تخص الشخص الذي يقراء شفرة XML نفسها .

إذ صادف لك وتعاملت من قبل مع أي لغة برمجة فانك تعرف تماما ماذا تعنى بالتعليقات .

وهى تستخدم لوضع بها تعليقات تصف بعض الفقرات و الاكواد لكي تساعدك في فهم شفره مستندات XML

ولكنها ليست مهمة بالدرجة مثلما في إي لغة برمجة أخري حيث أن لغة XML لغة تصف البينات إي أنها ذاتية الوصف تساعدك على فهمها .

تبدأ التعليقات بالرمز < !— وتنتهي بالرمز -- > مثل التعليقات في HTML

مثلا ..





4) العناصر الفارغة Empty Elements

قد توجد في بعض مستندات XML عناصر فارغة من البينات

فمثلا ...




في هذه الحالة تقدم لك XML الحل الأفضل والبديل الذي تكون فيه لا تحتاج إلى معرف نهاية End Tag فتكتب بهذا الشكل

< last/>

على أن يكون العنصر ثم الرمز "/" بدون لاحقة النهاية المعتادة وهى الحالة الوحيدة التي لا تستخدم فيها لواحق النهايات .

ولو أجريت تجربة بسيطة داخل معرب XML المدمجة بمتصفح إنترنت اكسبلورر 5.5 وكتبت الشفرة التالية

أنها سوف تظهر بالشكل التالي





5) تصريح XML XML Declaration

تعد التصاريح في تعريف مستندات XML بأنها تتبع نوعا معينا بالإضافة إلي إعطاء المعرب التعليمات الأخرى

فمثلا هذا التصريح




وهو يجب أن يكون في بداية مستندات XML وليس معنى عدم وجوده يسبب الخطأ ولكن الأفضل تعريف المستندات .

شرح التصريح السابق


- فبدا تصريح XML بالرمز < ?xml
و ينتهي بالرمز ? >

- إذا أضفت تصريح XML يجب أن تضيف أيضا الصفة version أما بالنسبة للصفتين Encoding و Standalonge بهذا الترتيب .

- حاليا فان الإصدار Version يجب أن يكون يحوى القيمة 1.0 إذا قمت بوضع رقم غير هذا الرقم فان XML المكتوب للتعامل مع مواصفات XML الإصدار 1.0 سترفض المستند .

- يجب أن يأتي هذا التصريح في أول سطر في مستند XML كما ذكرنا .




الصفة الثانية في تصريح XML هي Encoding

صفة التشفير Encoding Attributes , لو رجعنا إلى درسنا الأول في هذه السلسلة والذي تحدثنا فيه عن البيانات وأنواعها فلا تستغرب إذا عرفت أن النصوص تخزن في الحاسب على شكل أرقام باعتبار أن الأرقام هي اللغة ألام للحاسب فمثلا الحرف a يمثل في جدول الـ ASCII الرقم 97 والحرف A يمثل الرقم 65 .

هناك نوعان من شفرة ASCII الشفرة القياسية والتي تتكون من سبعة بتات والشفرة الموسعة والتي تتكون من ثمانية بتات أي أن شفرة ASCII الموسعة تستخدم بايتا واحدا لكل رمز وبالتالي فان الشفرة لا يمكن استيعابا اكثر من 256 رمز مختلف فهو كافي لتمثيل كل الحروف الأبجدية الإنجليزية الكبيرة والصغيرة بالإضافة إلى العلامات والأرقام ولكن غير كافي لتمثيل لغات أخرى مثل العربية أو اليابانية ... الخ

لهذا السبب وجدت الشفرة الموحدة Unicode .



بعد هذه المقدمة نرجع إلى مثالنا السابق جملة تصريح XML عند الصفة

encoding=’UTF-16



هنا تم ضبط التشفير لمستند XML على انه Unicode وذلك بوضع UTF-16

لذا فقد نصت مواصفات XML على استخدام شفره موحدة عالمية لتمثيل البيانات ولكن للأسف فان القليل يستخدم هذه الشفرة والعديد يستخدم شفرات أخرى مثل ISO-88591 وشفرة windows-1252


ملاحظة إذ لم تقم بتحديد شفرة إي انك لم تقم بوضع هذه الصفة أصلا أن معرب XML يقراء المستند بشفرة UTF-8 أو UTF-16


الصفة الأخيرة في تصريح XML هي صفة Standalone

وهى تعنى أن المستند قائم بذاتية فإذا قمت بإضافة هذه الصفة إلى تصريح XML فإنه لهذه الصفة قيمتين yes وno

تشير القيمةyes إلى أن المستند قائم بذاته ولا يعتمد على أي ملفات أخرى

تشير القيمة No إلى أن المستند يمكن إن يكون معتمد أو مرتبطا بملفات أخرى.



6 ) رموز نصوص PCDATA غير مسموح بها .

تعرفنا سابقا بالمقصود بالمصطلح PCDATA وعرفنا انه مصطلح مستخدم من قبل SGML يشير إلى البيانات النصية الموجودة داخل العناصر , فتوجد بعض القوانين تحكم هذه البيانات النصية عند كتابتها لفادى الأخطاء أثناء عمل معرب XML .

فهناك بعض الرموز المحجوزة التي لا تستطيع تضمينها في بينات PCDATA لان تركيب XML يستخدمها من هذه الرموز < والرمز &


فمثلا





عند تشغيل هذه الشفرة على المتصفح سوف تعرض لك الخطأ بهذا الشكل ..




هذا يعنى انه عندما يصل المعرب إلى الرمز < سيتوقع أن يجد اسما لمعرف Tag وبدلا من ذلك فقد وجد فراغ Space وحتى إن تجاوز المعرب هذا الخطأ فإنه سيتوقف عند خطا أخر عندما يصل إلى الرمز “ & “

فلا تقلق فهناك طريقتان تمكنك من تضمين هذه الرموز ضمن PCDATA إما أن تستخدم الرموز المرادفة Escaping Characters أو أن تستخدم قسم CDATA سنتعرف على الطريقتان الآن في الجزء الثاني

هذا يعنى انه عندما يصل المعرب إلى الرمز < سيتوقع أن يجد اسما لمعرف Tag وبدلا من ذلك فقد وجد فراغ Space وحتى إن تجاوز المعرب هذا الخطأ فإنه سيتوقف عند خطا أخر عندما يصل إلى الرمز “ & “


فلا تقلق فهناك طريقتان تمكنك من تضمين هذه الرموز ضمن PCDATA إما أن تستخدم الرموز المرادفة Escaping Characters أو أن تستخدم قسم CDATA سنتعرف على الطريقتان الآن في الجزء الثاني
إقرأ المزيد... Résuméabuiyad
تصميم : قوالب بلوجر معربة