دورة متقدمة في HTML الجزء 2

الناقل : mahmoud | الكاتب الأصلى : mubarmej | المصدر : www.boosla.com

الأطر
تستخدم الأطر frames لتقسيم المتصفح إلى عدة إطارات واستعراض عدة صفحات في نفس الوقت، كما يمكنك تبادل الأوامر بين هذه الصفحات، فيمكن عمل صفحة مستقلة تحتوي على فهرس الموقع، وبعد ذلك تضعها في صورة إطار يظل على يمين الشاشة، وكلما ضغط المستخدم على أحد الوصلات في الفهرس، يتم تحميل الصفحة في الإطار الآخر الذي على اليسار والذي يحتل الجزء الأكبر من الشاشة عادة، هذه الطريقة تتبع في الكثير من المواقع لتسهيل الأمور، فكيف يتم ذلك.
في البداية هنالك صفحة الإطارات، تحدد في هذه الصفحة تصميم طقم الإطارات الذي ستستخدمه، وما هي الصفحة التي يجب عرضها في كل إطار، أن كل صفحة تكون محفوظة في ملف مستقل لوحدها، في صفحة الإطارات ستستخدم وسوم الإطارات، ولكن باقي الصفحات ستكون صفحات عادية غالبا دون إطارات.
أول وسوم الإطارات هو الوسم frameset الذي يفتح مجموعة الإطارات، وفي هذه المجموعة يوجد عدد من وسوم الإطار frame المفردة ونضع فيها مصدر الصفحة في الخاصية src أو يمكننا وضع frameset أخرى داخل الـ frameset الأولى، ويوضع الوسم frameset خارج منطقة الجسم body دائما، نحدد في الوسم frameset إذا كنا سنقسم الصفحة أفقيا أو رأسيا، ونحدد حجم كل إطار، إذا كنا نريد تقسيم الصفحة رأسيا على شكل أعمدة نستخدم الخاصية cols ونضع فيها عرض كل إطار بحيث يفصل بين كل إطار والآخر فاصلة ( , ) وهذه الحجوم قد تكون نسبية أو مطلقة وتختلف في احتواء النسبية على علامة النسبة المؤوية، وإذا أردنا تقسيم الصفحة أفقيا نقوم بعمل نفس الشيء ولكن باستخدام الخاصية rows بدلا من cols، مثلا إذا أردنا تقسيم الصفحة رأسيا إلى ثلاثة أعمدة الأول بعرض 100 بكسل والثاني بعرض 10% من الشاشة والثالث يحتل باقي الشاشة تكون مجموعة الوسوم هكذا :


<frameset cols="100,10%,*"> <frame src="sample1.html"> <frame src="sample2.html"> <frame src="sample3.html"> </frameset>




وكما ذكرنا يمكنك وضع frameset آخر بدلا من أحد الإطارات frame


<frameset rows="50,*"> <frame src="sample1.html"> <frameset cols="100,*"> <frame src="sample2.html"> <frame src="sample3.html"> </frameset> </frameset>



يمكنك وضع أو إزالة الإطار الذي يظهر حول الألواح باستخدام الخاصية frameborder إذا ضبتها عند القيمة 0 لن يظهر الإطار و 1 يظهر الإطار، يمكنك التحكم بحجم الإطار عن طريق زيادة أو إنقاص المسافة بين الألواح وذلك عبر الخاصية framespacing فتضع فيها القيمة التي تريدها، يمكنك ضبط الخاصيتان السابقتان عند 0 لمنع المستخدم من تغيير حجم الألواح.


<frameset cols="50%,*" frameborder="0" framespacing="0"> <frame src="sample1.html"> <frame src="sample2.html"> </frameset>



يمكنك التحكم في ظهور أشرطة التمرير Scroll Bars في كل إطار من الإطارات عن طريق الخاصية scrolling وهي تأخذ القيمة yes لإظهار أشرطة التمرير دائما، والقيمة no لمنع ظهورها دائما، و auto لإظهارها وقت الحاجة إليها فقط.


<frameset rows="20,*"> <frame src="sample1.html" scrolling="no"> <frameset cols="100,*"> <frame src="sample2.html" scrolling="yes"> <frame src="sample3.html"> </frameset> </frameset>



لكي تستطيع أن ترسل أوامرك ووصلاتك من لوح إلى آخر، يجب أن تقوم بتسمية أو عنونة الألواح بواسطة الخاصية name، وبعد ذلك لعمل وصلة بواسطة الوسم a استخدم الخاصية target لتحديد وجهة الوصلة، يمكنك فتح الوصلة في شاشة متصفح جديدة _blank أو فتحها في الشاشة الحالية فوق مجموعة الألواح _top أو فتحها في اللوح الحالي _self أو فتحها في اللوح الأب (في حالة ألواح داخل ألواح) _parent أو فتحها في أي لوح بوضع إسم اللوح.
<!-- sample4.html -->
<a href="sample1.html"
target="_blank">Page 1</a><br>
<a href="sample3.html"
target="_top">Page 3</a><br>
<a href="sample2.html"
target="main">Page 2</a>
<a href="sample4.html"
target="main">Page 4</a>
<frameset rows="20,*">
<frame src="sample1.html">
<frameset cols="200,*">
<frame src="sample4.html">
<frame src="sample3.html" name="main">
</frameset>
</frameset>

إضافة إلى ما سبق، يوجد أيضا إطار من نوع خاص يكون عائما في المستند مثل الصورة، يتم إدراج هذا الإطار في أي مكان بالمستند تحت القسم body، ويقوم بعمل إطار ليعرض صفحة HTML خارجية، ووسمه هو iframe وأهم خصائصه الخاصية src التي تحدد المستند المصدر الذي يجب عرضه في الإطار، يمكنك أيضا عنونه بالخاصية name وعمل وصلات موجهة إليه تماما مثل الإطار العادي، وفيما بقي فهو مثل الإطار
يمتلك أيضا خاصية width و height لتحديد حجمة

النماذج
إرسال البيانات عبر http
عندما تريد إرسال المعلومات من متصفح الويب، إلى مزود الويب فإنك تستخدم بروتوكول http في عمل ذلك، وينص بروتكول http على أن البيانات ترسل في صورة أزواج، كل زوج عبارة عن إسم وقيمة، مثلا إذا أردت إرسال إسم المستخدم عبر بروتوكول http فإنك ترسل العبارة التالية name=mubarmej هذا يسمى زوج لأنه يتكون من جزئين، الجزء الأول هو إسم المعلومة (name)، والجزء الثاني هو المعلومة نفسها (mubarmej)، وإذا أردت أن ترسل أكثر من معلومة فإنك تفصل بين أزواج المعلومات بعلامات & فإذا أردت أن ترسل الإسم والبلد فإنك ترسل العبارة التالية name=mubarmej&country=Kuwait يمكنك أن تكتب العبارة السابقة كالتالي country=Kuwait&name=mubarmej حيث أن الترتيب ليس مهما إلى هذه الدرجة، إضافة إلى ما سبق فإن هنالك شروطا على إرسال البيانات في صورة عناوين url ولأن المعلومات عادة ما ترسل ملتصقة بهذه العناوين فإنه لا بد من تحويل سطر البيانات السابق بحيث يصبح مطابقا لمواصفات url، وأول شيء هو أنك لا تستطيع وضع المسافات، لذا فقد اتفق على أن جميع المسافات في البيانات تحول إلى إشارة ( + )، فإذا كان البلد هو United States فإن سطر البيانات سيكون name=mubarmej&country=United+States، وهنالك أيضا شروط أخرى لتحويل الرموز الغير انجليزية والكثير من الأشياء التي يتم تطبيقها على البيانات حتى تصبح جاهزة للإرسال.

تعريف

المسافات البيضاء : هي المسافات والأسطر الجديدة وعلامات الجدولة.
ينص بروتوكول http أيضا على أن البيانات ترسل بطريقتين، الأولى تسمى get والثانية تسمى post، يتم إرسال البيانات بطريقة get بصورة بسيطة جدا حيث تكون عبارة عن جزء يضاف إلى إسم البرنامج الذي سيستفيد من البيانات، مثلا إذا كان لديك برنامج يأخذ الإسم والبلد ويخزتها على المزود، وكان عنوان هذا البرنامج هو
http://somewhere.com/script.cgi فإن طريقة get ستقوم فقط بعمل إضافة إلى العنوان السابقة هذه الإضافة هي عبارة عن علامة استفهام يليها سطر البيانات الذي جهزته، فيصبح إسم الصفحة http://somewhere.com/script.cgi?nam...y=United+States ولا بد من أنك صادفت شيئا كهذا وربما أكثر تعقيدا في مربع الوجهة في متصفحك خاصة عندما تزور المواقع الضخمة وتجري عمليات البحث وغيرها، ستجد كل هذه البيانات في شريط العنوان، هذا بالنسبة لطريقة get في إرسال البيانات، أما الطريقة الثانية فهي طريقة post وفيها يتم إرسال لوحدها مع طلب الموقع ولا تظهر البيانات في شريط العنوان، تختلف الطريقتان عن بعضهما البعض في أن الطريقة get أبسط بكثير ويمكنك بسهولة استخدامها كوصلة عادية بأن تركب سطر البيانات بنفسك، ولكن post لا يمكن عملها في صورة وصلة بسهولة، حيث أنها لا تعمل إلى عن طريق النماذج ( الإثنان يعملان بشكل ممتاز بالنماذج )، لكن طريقة post أفضل من get في أنها مناسبة لإرسال كمية كبيرة من البيانات مثل نص رسالة كاملة، حيث يتعسر عرض هذه الأشياء في عنوان الموقع، كذلك البيانات والإتصالات السرية يجب أن تتم بطريقة post ( هذا لا يعني أنها آمنة للشراء عبر الويب وإنما تحتاج إلى تقنيات أخرى ).

مهمة النماذج

بعد أن عرفت كيف يتم إرسال البيانات، يجب أن تعرف مهمة النماذج في كل هذا، تعطيك النماذج واجهة سهلة لإدخال البيانات مثل مربعات النص وقوائم الإختيار ومربعات نعم/لا والأزرار، وغيرها من الأدوات، كل ما عليك فعله هو تحديد مكان البرنامج (
http://somewhere.com/script.cgi) في مثالنا السابق، والطريقة التي تريد اتباعها (get أو post)، والبيانات التي تريد إرسالها، وتحدد بعض الألوان والأحجام وتصمم الحقول وتضع زر الإرسال (submit) وانتهى الأمر، كل ما على زائر الصفحة الآن هو أن يملأ بعض الحقول ويختار بعض الخيارات، ويضغط زر الإرسال فيقوم المتصفح بجمع البيانات وتحويلها وتجهيزها ثم إرسالها إلى المكان الذي حددته وحسب الطريقة التي حددتها، النماذج بالفعل هي أفضل طريقة تفاعلية في لغة HTML.
يتم إدراج النموذج بالوسم form ويتم إدراج المعلومات في صورة وسوم input مفردة، يحتوي الوسم form على مجموعة من الخواص أهمها action وفيه تحدد عنوان البرنامج الذي سيستفيد من البيانات، والخاصية الثانية هي method وفيها تحدد طريقة نقل البيانات إما post أو get، أما الوسوم input فأهم خاصية فيها هي type وتحدد فيها نوع الكائن الذي سيأخذ المعلومة من المستخدم، ويأخذ أحد القيم التالية :
• Text : وهو أشهر طرق إرسال المعلومات ويظهر في النموذج في صورة مربع نص يمكن للمستخدم إدخال أي شيء فيه.
• Button : لعمل زر، ويستفاد من الزر في عمل أي شيء.
• Checkbox : لعمل مربع اختيار، إذا تم اختياره فإنه يرسل القيمة on وإذا لم يتم اختياره فإنه لا يرسل أي معلومة.
• File : لإرسال الملفات.
• Hidden : يرسل المعلومة التي تريدها بالقيمة التي تريدها، ولا يظهر أي شيء في صفحة HTML، تستطيع عن طريقه دمج معلومة ما داخل ملف HTML بحيث لا يعلم عنها المستخدم ولا يحتاج إلى تغييرها.
• Image : تستخدم في الكثير من الأمور مثل الزر.
• Password : يستخدم لإرسال كلمة المرور، وهو يرسل كلمة المرور بصورة واضحة دون أية تشفير وإنما يختلف عن مربع النص العادي في أن الحروف تظهر في صورة نجوم ( * ).
• Radio : يستخدم لعمل الدوائر لكي يختار المستخدم قيمة ما من عدة خيارات.
• Reset : يستخدم لمحو محتويات النموذج وإعادته إلى الحالة الأصلية.
• Submit : يظهر في صورة زر يستخدم لإرسال المعلومات الموجودة في النموذج.
يمكنك أيضا إرسال المعلومات مع النموذج بواسطة وسمين آخرين يوضعان أيضا بين وسمي form وهذا الوسمان هما select لعمل قائمة اختيار والوسم textarea لعمل مربع نص متعدد الأسطر، وبين وسمي select نضع عدة وسوم option كل واحد منها يعبر عن بند في القائمة ويكون لكل بند قيمة معينة وترسل قيمة البند الذي تم اختياره.
ملاحظة
لقد قمت بعمل برنامج صغير موجود على المزود يقوم بأخذ المعلومات التي ترسلها بأي من الطريقتين ويعيد لك النتائج في صورة جدول وسنستخدمه لتوجيه جميع الطلبات إليه لمعرفة كيفية عمل النماذج.
إسم البرنامج echo.pl وهو موجود في الدليل الذي به هذا الملف لذا سنقوم باستخدام المسارات النسبية ونحدد الخاصية action في تجاربنا على القيمة echo.pl دائما.
سنقوم في البداية بعمل أمثلة عامة وبعد ذلك سنركز على كل كائن من كائنات النموذج.
أنظر إلى المثال التالي :


<form action="echo.pl"> First Name : <input type="text" name="first_name"><br> Secound Name : <input type="text" name="secound_name"><br> <input type="radio" name="exact"> Exact Match <input type="radio" name="all"> All Words<br> <input type="hidden" name="todo" value="search"> <input type="submit" value="Search"> </form>



 
First Name :
Secound Name :
Exact Match All Words



يبو واضحا في المثال السابق كيف يتم نقل المعلومات عبر الويب باستخدام طريقة get، وإذا أعدت التجربة السابقة باستخدام الطريقة post فسوف تحصل على نتائج مطابقة لأن البرنامج الذي أعددته (echo.pl) مجهز للتعامل مع الطريقتين.

مربع النص

نقوم بوضع مربع النص كما ذكرنا سابقا، باستخدام الوسم input مع تغيير الخاصية type له إلى القيمة text، ويمكننا وضع أي محتويات ابتدائية نريدها فيه عن طريق الخاصية value له، ويمكن أيضا التحكم بحجمه عن طريق الخاصية size، لتحديد طول المربع الذي نريده.


<form action="echo.pl" method="get"> Username <input type="text" size="20" name="username"><br> Email <input type="text" size="40" name="email"><br> URL <input type="text" size="40" name="url" value="http://"><br> <input type="submit"> </form>



 
Username
Email
URL



مربع الإختيار
وهو يوضع بالوسم input أيضا بتحديد الخاصية type لها عند القيمة checkbox، ويمكن بالمعلومات التي سيتم إرسالها عن طريق الإسم بالخاصية name والقيمة بالخاصية value فيمكننا مثلا أن نجعل النموذج يرسل المعلومة do=subscribe إذا قام المستخم باختيار أحد مربعات الخيار، وذلك بضبط الخاصية name له عند القيمة do والخاصية value له عن القيمة subscribe، وعند عدم اختيار مربع الخيار فلن يتم إرسال أي شيء يتعلق به.
أي أنه مثل النوع hidden إلا المستخدم هنا يحدد فقط إذا كانت المعلومة سترسل أو لا.


<form action="echo.pl" method="get"> <input type="checkbox" name="do" value="subscribe"> Subscribe.<br> <input type="submit"> </form>



 
Subscribe.



الإختيار من متعدد
يمكنك عمل دوائر الإختيار من متعدد بواسطة وسوم input بحيث تضبط خاصيتها type عند القيمة radio، ولعمل مجموعة من الوسوم التي يجب على المستخدم اختيار أحدها قم بعمل وسم input لكل واحد منها واجعل قيمة الخاصية name متساوية فيها جميعا مع تغيير قيمة الخاصية value في كل منها، فيكون عندنا نيابة عن جميع هذه الأزرار معلومة واحدة اسمها يحدد بالقيمة name وقيمتها حسب قيمة الخاصية value للزر الذي تم اختياره.


<form action="echo.pl" action="get"> Age : <br> <input type="radio" name="age" value="17"> 10 - 17<br> <input type="radio" name="age" value="50"> 18 - 50<br> <input type="radio" name="age" value="100"> 51 - 100<br> Gender : <br> <input type="radio" name="gender" value="male"> Male <input type="radio" name="gender" value="female"> Female<br> <input type="submit"> </form>



 
Age :
10 - 17
18 - 50
51 - 100
Gender :
Male Female



تلاحظ من المثال السابق أنك تستطيع فقط اختيار Male أو Female من القائمة الثانية، لأنها يمتلكان نفس الإسم name.

القائمة

عند تكوين القائمة نقوم أولا بوضع وسم القائمة select ونعين له خاصية name التي ستظهر في النموذج، وبعد ذلك نقوم بوضع عدة وسوم option لكل منها خاصية value وعند إرسال البيانات سيتم إرسال المعلومة التي إسمها موجود في الخاصية name من الوسم select وقيمتها موجودة في الخاصية value من الوسم option الذي تم اختياره.
<form action="echo.pl" method="get"> <select name="country"> <option value="kw">Kuwait <option value="sa">Saudia <option value="ua">Emirates <option value="qt">Qatar <option value="bh">Bahrain <option value="om">Oman </select> <input type="submit"> </form>

 






مربع النص متعدد الأسطر
ويمسى أيضا بالمساحة النصية Textarea، وهو عبارة عن وسم textarea مزدوج ( فتح وإغلاق ) وبينهما تضع المحتويات التي تريدها أن تظهر داخل المربع، وهو يستخدم غالبا مع النماذج التي ترسل معلوماتها بالطريقة post لأنه يستخدم لإرسال كمية كبيرة من البيانات.
يمكنك التحكم في عدد الأسطر بالخاصية rows وعدد الأحرف في كل سطر بالخاصية cols ( عدد الأعمدة ).


<form action="echo.pl" method="get"> <textarea name="message" rows="6" cols="50"> This Text will appear inside the box ! WOW It's working :) </textarea><br> <input type="submit"> </form>







أمور أضافية
وسوم meta
على الرغم من أن اسمها وسوم meta إلا أنها ليست أكثر من وسم واحد هو الوسم meta !
يستخدم الوسم meta لإعطاء المزيد من المعلومات حول الصفحة، مثل وصف الصفحة والكلمات المفتاحية للصفحة وإسم مؤلف الصفحة وإسم البرنامج المستخدم لتأليف الصفحة وغيرها من المعلومات، وجميع واصفحات meta توضع في ترويسة مستند HTML أي بين وسمي head وهذا أمر طبيعي لأنها ليست جزءا من المحتوى.
تختلف واصفحات meta عن بعضها البعض بالخاصية name أو http-equiv، توجد بعض البرامج تحدد نوع الوسم meta حسب الخاصية name وبرامج أخرى حسب الخاصية http-equiv لذا فمن الأفضل وضع الإثنين.
الخاصية الثانية لوسوم meta هي الخاصية content التي تحدد محتوى المعلومة التي حددت اسمها بكل من الخاصيتين name و http-equiv.
الكلمات المفتاحية مثلا إسمها keywords، فإذا كانت الكلمات المفتاحية في موقعك هي (ألعاب برامج صور مقلات دروس دورات)، فإنك ستحتاج إلى أن يكون لديك الوسم التالي :
<meta name="keywords" http-equiv="keywords"
content="ألعاب,برامج,صور,مقلات,دروس,دورات">
لاحظ من الوسم السابق أن الكلمات المفتاحية يفصل كل منها عن الآخر بفاصلة عادية.
وكما في الطريقة السابقة يتم تحديد معلومات الصفحة بنفس الطريقة، وتأخد الخاصية name أو http-equiv أحد القيم التالية:
• keywords : لتعيين الكلمات المفتاحية للمستند مفصولة بفواصل، ومرتبة حسب أهميتها ولا يجوز التكرار.
• description : لوضع وصف بسيط للصفحة ويفضل أن لا يتعدى العشرون كلمة.
• generator : إسم البرنامج الذي استخدم لإنشاء الصفحة.
• author : إسم مؤلف الصفحة.
• content-type : لتحديد نسق البيانات وصفحة المحارف المستخدمة، لصفحات HTML العربية المكتوبة في الويندوز ضع الوسم كالتالي :
• <meta name="content-type" http-equiv="content-type"
• content="text/html; cahrset=windows-1256">
• copyright : معلومات عن حقوق طبع الصفحة.

تعريب الصفحات

تتلخص إجراءات التعريب في جزئين رئيسيين، أولا إظهار الخطوط بصورة سليمة، وثانيا إظهار الإتجاه بشكل سليم.
لإظهار الخطوط العربية بشكل سليم يجب التأكد من استخدام صفحات المحارف العربية المنتشرة حاليا وهي windows-1256، إذا كنت تكتب صفحاتك في Windows فهذه هي صفحة المحارف القياسية، ما عدا Windows 2000 فهو يستخدم صفحة المحارف العالمية الموحدة Unicode، وأما إذا كنت تكتب صفحاتك في بيئة Unix (Linux مثلا) فإن ذلك يعتمد على البرنامج الذي تستخدمه لتعريب النظام.
وفي جميع الأحوال السابقة فإنك تحتاج لضبط الوسم meta الخاص بنوع المحتوى content-type عند قيمة مناسبة.
أما تغيير اتجاه الصفحات فيتم بعدة طرق، أول طريقة هي استخدام الوسم p وضبط الخاصية align له عند القيمة right، وهي طريقة بسيطة ونافعة، ولكنها تصبح متعبة في المواقع الكبيرة وعندما تريد عمل الكثير من الجداول والتنسيقات، أما الطريقة الثانية وهي الطريقة الأفضل فهي استخدام الخاصية dir في الوسم html وضبطه عند القيمة rtl، يقوم ذلك بجعل الصفحة تتجه كليا من اليمين إلى اليسار، بحيث تصبح الفقرات تتجه من اليمين إلى اليسار، والعناوين تتجه من اليمين إلى اليسار وتصبح الخلية الأولى في الجدول هي الخلية الأولى على اليمين، وهذه الميزة متوفرة تلقائيا في متصفح Internet Explorer وهي غير متوفرة في Netscape Navigator، ولكن عند تركيب Sindbad، فإن هذه الميزة تظهر في صورة زر في على شريط العنوان حيث يحدد المستخدم الإتجاه الذي يريده يدويا ولا تؤثر الخاصية dir على الصفحة تلقائيا.
<html dir="rtl">

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

أوراق الأنماط المتتالية

أوراق الأنماط المتتالية أو Casscading Style Sheet أو CSS هي تقنية تستخدم للتحكم في الكيفية التي يجب أن تظهر بها الوسوم في صفحة ويب، فمثلا العنوان الرئيسي H1 يظهر باللون الأسود وبخط عادي وطريقة عادية، ولتغييره كان لا بد من وضع وسم Font داخل كل وسم H1، فماذا لو استطعنا أن نحدد نحن كيف نريد لعنوان الصفحة الرئيسي أن يظهر، وكيف يجب أن تظهر الجداول وكيف يجب أن تظهر جميع الوسوم الأخرى في لغة HTML، الآن يمكننا عمل ذلك باستخدام تقنية CSS، وقد تم تطوير هذه التقنية على المدى الأعوام السابقة حتى وصلنا إلى النسخة الثانية من مواصفات هذه اللغة ويمكن الحصول عليها من مجمع الشبكة العنكبوتية العالمية مع مجموعة كبيرة من الوصلات والكتب والدورات :
http://www.w3.org/Style/CSS/

لغة الترميز القابلة للتوسع

لغة الترميز القابلة للتوسع أو eXtensible Markup Language أو XML هي عبارة عن تقنية جديدة بحيث يتم التخلص من الوسوم القياسية ويصبح لكل شخص وسومه الخاصة به، فبد أن ظهرت تقنية CSS أصبح أمر الوسوم غير مهما، فيمكنني مثلا أن أقوم بجعل الوسم h6 الذي لا أستخدمه كثيرا يصبح وسما خاصا له لون خاص وشكل خاص أستخدمه في كتابة الملاحظات مثلا، بحيث يصبح لونها أحمرا وتكون مبروزة ببرواز جميل ولافته للنظر، وهكذا أصبح الإسم h6 لا يشير إلى شيء، فما الفائدة منه الآن !
لذا فقد ظهرت فكرة لغة الترميز القابلة للتوسع بحيث أنك تقوم بعمل الوسوم وتسميها بأي اسم تريده، وتحدد كيفية ظهور المحتوى الذي بداخل الوسم عن طريق أوراق الأنماط المتتالية، للمزيد عن XML إذهب إلى قسم XML في مجمع الويب :
http://www.w3.org/XML/

لغة الجافا سكريبت

لغة الجافا سكريبت هي عبارة عن لغة برمجة محدودة، مخصصة للعمل في صفحات ويب لتوفير صفحات متغيرة ( ديناميكية )، فيمكنك عمل زر ينفذ عمليات خاصة على جهاز الزبون دون إرسال المعلومات إلى مزود ويب، وتستخدم بشكل كبير في الصفحات الشخصية في عمل الحركات والتأثيرات الفنية والحركية وقد ظهرت أخيرا العديد من المواقع التي توفر سكريبتات جاهزة ورائعة لتقوم بنقلها وإضافتها إلى موقعك بسهولة، للمزيد من المعلومات عن لغة الجافا سكريبت إذهب إلى موقع :
http://javascript.internet.com/ أو موقع http://www.dynamicdrive.com/.

البرمجة جهة المزود

البرمجة جهة المزود هي طريق يتم فيها تركيب الصفحات وصنعها ديناميكيا طبقا لمواصفات متفق عليها لتبادل البيانات، وتسمى هذه المواصفات واجهة البوابات الشائعة أو Common Gateway Interface أو CGI، ويمكن كتابة البرامج بأي لغة من لغات البرمجة بشرط أن يعمل البرنامج حسب مواصفات CGI، ولكن أشهر لغات البرمجة استخداما هي لغة Perl وهي تتميز باحتواءها على العديد من الميزات ووظائف معالجة النصوص المطلوبة في عمليات إنشاء الصفحات ديناميكيا، وهي لغة عامة وليست لغة مخصصة لكتابة برامج CGI فقط، على العكس من لغة PHP الجديدة وهي لغة مخصصة كليا لعمل الصفحات الديناميكية وهي اللغة المستخدمة لجعل موقع مبرمج يظهر بمظهره الموحد والمتناسق والمترابط، وتوجد أيضا لغة ASP من مايكروسوفت أيضا ولكنها مقصورة على مزودات NT فقط ولا تعمل في مزودات UNIX الأوسع انتشارا، للمزيد من المعلومات حول Perl راجع :
http://www.perl.com/ ولمعلومات حول لغة PHP راجع http://www.php.net/