ركـــن تطويــــر المواقـــــــــــــعو يشمل ASP, CSS, HTML, DHTML, MSHTML, php,VbScript, JScript, , InterDEV6, FrontPage وكل مايتعلق ببرمجة وتصميم المواقع بشكل عام
في درسنا عن XML سنتعلم الفرق بين XML و HTML وأيضا سنعرف كيف نبدأ باستخدامها
XML : صممت لتكون أو لتصف البيانات وتركز على نوعية البيانات أو ما هي البيانات . HTML: صممت لتعرض البيانات وتركز على مظهر البيانات . ما الذي ينبغي علينا معرفته قبل تعلم XML : قبل أن تبدأ معنا عليك أن تعرف أساسيات بسيطة أو خلفية عن : www,HTML وأساسيات تصميم صفحات الإنترنت. Web Scripting @-X-@@-X-@@-X-@@-X-@@-X-@@-X-@@-X-@@-X-@ Like JavaScript or VBScript
ما هي XML:
XML stands for EXtensible Markup @-X-@@-X-@@-X-@@-X-@@-X-@@-X-@@-X-@@-X-@ وهي لغة وصف أكثر من HTML وصممت لوصف البيانات اي لغة رمزية . و XML tags ليست معرفة مسبقا أي أنت ملزم لتعرف أطراف أن تكونها XML تستخدم Document Type Definition وهي صممت لتصف نفسها بنفسها
الفرق الرئيسي بين XML و HTML
XML صممت لنقل البيانات XML ليست بديل ل HTML ولا تحل مكانها XML و HTML صمموا لأهداف مختلفة . و HTML لعرض البيانات والمعلومات بينما XML لتصويرها أو وصفها .
XML لا تقوم بأي شيء وهي لم تصمم لتقوم بأي شيء ربما من الصعب فهم هذا ولكن XML لا تقوم بأي شيء بل لتكوين تراكيب لتخزين وإرسال المعلومات . المثال التالي هو لملاحظة مكتوبة من Mouse إلى Crazy ومخزنة ك XML
كود PHP:
<note> <to>Mouse</to> <from>Crazy</from> <heading>Reminder</heading> <body>Dont forget me this weekend!</body> </note>
الملاحظة لديها Header و مكان الرسالة Message body وهي أيضا إرسال واستقبال معلومات ولكن . هذا مستند XML لا يقوم بعمل أي شيء هي فقط معلومات فقيرة هذا معنى جيد ولكن موضوعة داخل XML tags على أحد ما أو أي شخص كتابة برنامج صغير يقوم بإرسالها أو استقبالها أو عرضها .
XML هي لغة حرة و XML tags غير معرفات مسبقا أي لك الحرية باختراع أي وسم تريده أو tags بينما HTML tags معرفات مسبقا ويلزم عليك أن لا تستخدم غيرهم مثل : ((<p>, <h1> وغيرهم بينما XML تتيح للكاتب كتابة ما يخصه وهو كما موضح في المثال السابق حيث استخدمت (<to> and <from>) وهما غير معرفات بأي XML standard وهم محض اختراع من الكاتب نفسه .
XML هي مكملة أو متممة ل HTML
XML ليست تبديل أو بديل ل HTML
أعدت هذا التوضيح مرة أخرى لأنه من المهم أن تعرف أن XML ليست بديل ل HTML وأنه في المستقبل سيكون ل XML استخدام واسع في وصف البيانات بينما HTML ستستخدم ل Format وعرض نفس البيانات .
XML في مستقبل تطوير المواقع
XML ستكون في كل مكان فإحصائيات توضح سرعان انتشار استعمالها وتطويرها وعدد هائل البرامج من مصمميها وتنبني XML . مع XML تستطيع فصل بياناتك من داخل HTML مع HTML تعرض البيانات والبيانات موجودة داخل HTML ، مع XML تستطيع تخزين البيانات في ملفات XML منفصلة بهذه الطريقة بإمكانك أن تركز عند استخدامك HTML على اتجاه البيانات وعرضها، وتذكر أنه عندي أي تغير للبيانات لا يتطلب منك تغير في HTML . و بيانات XML يمكن أن تخزن داخل صفحات HTML ويبقى بإمكانك أيضا التركيز فقط باستخدام HTML لعرض وتشكيل بياناتك .
XML تستخدم لتبادل البيانات مع XML نستطيع تبادل البيانات بين الأنظمة الغير متوافقة . في الواقع فأن أنظمة الكمبيوتر وقواعد البيانات تحتوى على بيانات في أشكال غير متوافقة أو متعارضة ، فإنه من أصعب الأمور لدى المطورين هو تبادل هذه البيانات الغير متوافقة عبر الإنترنت . فإن تحويل هذه البيانات إلى XML كان إنجاز عظيم في تقليل هذه الصعوبات وتكوين بيانات تستطيع قراءتها ببرامج مختلفة .
XML مع B2B
مع XML فأن المعلومات المالية يمكن تبادلها عبر الإنترنت توقع أن ترى المزيد حول XML و B2B (Business To Business) في المستقبل القريب . XML ستصبح اللغة الرئيسية لتبادل المعلومات المالية بين الأعمال عبر الإنترنت فالعديد من برمجيات B2B تحت التطوير الآن .
XML يمكن استخدامها في مشاركة البيانات
بما أن بيانات XML مخزنة في شكل مبسط جداً وصرف Plain Text format ف XML تزود البرامج وغيرها بطريقة منعزلة ومستقلة لمشاركة البيانات . وهذا يجعل من سهلة جداً في تكوين بيانات تعمل عليها مختلف البرمجيات وهي تسهل عملية التحديث من نظام إلى نظام آخر . XML يمكن أن تستخدم في تخزين البيانات في ملفات أو قاعدة بيانات , البرامج يمكن أن تكتب لتخزن وتجلب المعلومات من المخزن وبرامج أخرى تستخدم لعرضها
XML يمكن أن تجعل من بياناتك أكثر نفعا
بما أن XML مستقلة عن Hardware Application ,Software, فيمكنك أن تجعل من بياناتك متوفرة للغير دون HTML Browsers . البرامج الأخرى بإمكانها الولوج داخل ملفاتك من XML كمصدر للبيانات كدخولهم لقواعد البيانات ، بياناتك أيضا بإمكانها أن تكون متوفرة لجميع reading machines (agents) .
XML يمكن أن تستخدم لتكوين لغات جديدة
WML وهي The Wireless Markup @-X-@@-X-@@-X-@@-X-@@-X-@@-X-@@-X-@@-X-@ وهي تستخدم لتعليم برامج الإنترنت لتتعامل مع أجهزة مثل أجهزة الهواتف النقالة هي مكتوبة بلغة XML .
XML Syntax قوانين بناء جمل XML سهل جدا وبسيطة جداً وهي سهل تعلمها و استخدامها . لهذا السبب إيجاد برنامج يقرأ ويتعامل مع XML ببراعة سهل جداً
مثال على XML Document
كود PHP:
<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>Silver</to> <from>Mouse</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
السطر الأول من المستند هو XML declaration يبن XML Version وتشفير الحروف داخل المستند في هذه الحالة فإنه تحدد 1.0 من XML وتستخدم ISO-8859-1 (Latin-1/West European) character set
السطر الذي يليه يبين جذر عناصر أو العنصر الأب المستند وكأنك تقول هذا المستند هو Note
كود PHP:
<note>
السطور الأربعة التالية توضح أربعة أبناء للأب أو الجدر (to, from, heading, and body):
كود PHP:
<to>Silver</to> <from>Mouse</from> <heading>Reminder</heading> <body>Dont forget me this weekend!</body>
وأخير أخر سطر يوضح نهاية الجدر للعناصر السابقة
كود PHP:
</note>
من المثال السابق بإمكانك معرفة أنه ملاحظة من Mouse إلى Silver أعتقد أن XML رائعة بأن تكون توضح نفسها بنفسها كل عناصر XML يجب أن تحتوى على وسم نهاية أو Closing tag في HTML بعض العناصر لا تحتوى على وسم نهاية فالكود التالي هو مسموح بلغة HTML
كود PHP:
<p>This is a paragraph <p>This is another paragraph
ولكن XML يجب على جميعها أن تحتوي على Closing tag مثل:
كود PHP:
<p>This is a paragraph</p> <p>This is another paragraph</p>
كود PHP:
XML tags are case sensitive
ليست مثل HTML فحالة الأحرف في وسم البداية والنهاية يجب أن تكون متماثلة مثال:
كود PHP:
Message>This is incorrect</message> <message>This is correct</message>
كل عناصر XML يجب أن تكون متداخلة فمثلا في HTML
كود PHP:
<b><i>This text is bold and italic</b></i>
يمكن أن تكون tags هكذا ولكن بXML يجب أن تكون بالصيغة التالية
كود PHP:
<b><i>This text is bold and italic</i></b>
كل مستندات XML يجب أن يكون هناك جذر لباقي العناصر وكل العناصر الباقية يجب أن تكتب داخل هذا الجذر
جميع الخصائص يجب أن تكون مع علامة التنصيص عناصر XML يمكن أن يكون لها خصائص مثلها مثل HTML ولكن يجب أن تكون داخل " " أو ‘’ المثاليين التالين الأول خطأ والثاني صحيح أدرسهما وستتعلم كيف:
الخطأ في المثال الأول أن الخصائص في Note لم تكن quoted This is correct: date="12/11/2002". This is incorrect: date=12/11/2002 With XML, white space is preserved بعكس HTML فجملة Hello my name is Mouse,
فستعرض Hello my name is Mouse
لأن HTML تجرد الفراغ
With XML, CR / LF is converted to LF With XML, a new line is always stored as LF. هل تعرف الآلة الطابعة ؟ هي آلة استخدمت في القرن الماضي بعد ما تكتب سطر واحد على الآلة فإنك تحتاج يدوياً أن ترجع
printing carriage لليسار ويدويا ترفع الورقة سطر فوق ولكن في تطبيقات الويندوز فإن السطر الجديد من الكتبة مخزن تلقائي زوجان اثنين CR LF (carriage return, line feed) characters
In Unix applications, a new line is normally stored as a LF character. Macintosh applications use only a CR character to store a new line.
التعليقات في XML فهي مثل التعليقات الموجودة في HTML
كود PHP:
<!-- This is a comment -->
XML Elements :
لديها قوانين بسيطة فمستند XML يمكن أن يمتد ليحمل المزيد من المعلومات انظر الملاحظة التالية بXML
كود PHP:
<note> <to>Mouse</to> <from>Adam</from> <body>Dont forget me this weekend!</body> </note>
الآن لنعتبر بأننا كونا برنامج يقوم باستخراج مكونات <to>, <from>, and <body> من مستند XML لينتج خرج كالأتي :
كود PHP:
MESSAGE To: Mouse From: Adam Dont forget me this weekend!
ولنتصور أن كاتب مستند XML قام بإضافة بعض البيانات الإضافية
كود PHP:
<note> <date>2002-08-01</date> <to>Mouse</to> <from>Adam</from> <heading>Reminder</heading> <body>Dont forget me this weekend!</body> </note>
<FONT size=4>هل البرنامج سيتوقف أو يحصل خطأ به ؟ لا فالبرنامج يجب أن يبقى قادر على العثور <to>, <from>, and <body> elements داخل مستند XML وينتج نفس الخرج
شكرا لك اخي على هذا الدرس الرائع لكنني احتاج شيء اخر عن xml لدي مستند xml تم فتحه و قرائته من واجهة c#فهو عبارة عن عدة جداول يربط بينها علاقات اريد نقل هذه الجداول الى قاعدة بيانات بلغة sql servar عندم اقوم باستيراد المستند يعطيني اشارة خطاء و قد حاولت استيرادة الى الاكسس فنق الجداول مع اخطاء بالعلاقات ما هي الطريقة المثلى لنقل ملف xml الى sql