دورة XML: الدرس الأول

..

  • نبذة عن لغات الترميز.

لغة XML ليست لغة برمجيَّة!

إنَّها تنتمي لعائلة لغات الترميز “Markup Languages” الَّتي تنتمي إليها أيضًا لغة HTML المعروفة.

هذه العائلة تنحدر عن اللغة الأمّ المسمَّى بـ SGML والَّتي ظهرت لأوّل مرَّةٍ في عام 1960 أي قبل ظهور الويب بكثير “30 عامًا تقريبًا”، لتساعد على ترميز وتنسيق المستندات والرسائل الإلكترونيَّة المتبادلة عبر الإنترنت.

وتتميَّز عائلة لغات الترميز بوسومها ذات الأقواس المثلثَّة <>، وبهيكليتها الشبيهة بالشجرة TreeLike Structure، بالإضافة إلى أنَّها لا تحتوي على أوامر أو عمليَّات، ووظيفتها تنحصر على ترميز النصوص برموزٍ معيَّنة تفهمها جميع المتصفحات.

  • · التعريف والوظائف:

ماذا يقول لنا موقع w3schools  عند تعريفه لغة XML؟

  • XML هي اختصار لـ: eXtendable Markup Language أي: لغة الترميز القابلة للتوسّع .
  • XML صُمّمت لنقل وتخزين البيانات.
  • من المهمّ أن نفهم لغة XML ومن السهل أن نتعلمها!

.

.نعرف بأنَّ HTML هي لغة توصيف تُستخدم لعرض البيانات على صفحات الويب، البعض يعتقد بأنَّ  لغة XML تعمل لذات الهدف، لا بالتأكيد.. XML تختلف تمامًا تمامًا عن الـ HTML، يمكن أن نقول بأنَّ ما يجمع بينهما فقط هو انحدارهما من نفس العائلة!

أنتَ تعرف بأنَّ هناك عددٌ محدود من الوسوم في لغة HTML، وأنَّ المتصفحات تترجم هذه الرموز تلقائيًا بغرض تنسيق عرض البيانات في صفحات الويب.

في لغة XML.. ليس هناك وسومٌ محددة!!.. أنتَ –كمطور ويب– تصنع وسومك بنفسك، لك مطلق الحرّيّة في كتابة الوسوم التي ترغب بها، ولذلك يصبح لدينا عدد لا نهائي من الوسوم التي يمكنك كتابتها عبر لغة XML!

كمثال، في لغة XML أستطيع كتابة الوسوم التالية:

حسنًا إذًا، ماذا سوف أستفيد من ذلك؟

ببساطة شديدة، سوف تقوم بوصف بياناتك بالطريقة التي تعجبك!!

وكيف سيستفيد المتصفح من هذا الوصف؟

هنا يأتي الفرق الجوهري بين HTML و XML، أنا أستطيع الاستفادة من لغة HTML بحدّ ذاتها والمتصفح لديه “قاموس” بكافة وسومها، لكن لغة XML تصبح عديمة الفائدة إذا لم أستخدم معها لغات وتقنيات تخبر المتصفح بكيفية التعامل مع الوسوم التي قمتُ بكتابتِها!

هذه هي الفكرة النظريّة للـ XML، تعبّر عنها دكتورتي في الجامعة بقولها: إنه مبدأ أن أمنح الجميع فرصة كتابة لغتهم الخاصّة بأنفسهم!

فما هي وظائف XML عمليًا؟

يمكننا تصنيف وظائف XML إلى 3 تصنيفات:

1- الاستفادة من لغة XML ضمن موقع واحد:

وهذه الاستفادة تكون على وجهين غالبًا/

  • استخدام ملفات الـ XML كقاعدة بيانات:

إمّا عن طريق استخدام مستندات XML لتخزين البيانات ، أو تحويل مجموعة من المستندات إلى قواعد بيانات عن طريق استخدام إحدى التطبيقات ، وكلتاهما يمكن ان تكوّن قواعد بيانات علائقيّة .

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

  • تحويل ملفات XML إلى ملفات أخرى مثل CSS أو Text Files.. وغيرها.

2– الاستفادة من لغة XML عند تبادل البيانات بين موقعين فأكثر:

هل ستصدقني إذا أخبرتُك بأنّ إحدى أسس ظهور مصطلح الويب2.0 هي لغة XML؟

نسمع كثيرًا ونلمس بأنفسنا التعاون الهائل في مشاركة البيانات بين مواقع الويب 2.0، يمكننا نشر روابطنا المفضلة في Delicious على صفحاتنا في Facebook و Twitter وغيرهما من المواقع الاجتماعية بكلّ سهولة.

مستخدمي موقع Goodreads أيضًا يعرضون آخر تحديثاتهم على Twitter وFacebook، ويكفينا كمثال واضح لمشاركة البيانات بين المواقع موقع FriendFeed الّذي يقوم بجمع خلاصات أغلب الشبكات الاجتماعية ويعرضها!

إنّ ذلك كلّه يتمّ عبر لغة XML إمّا عن طريق ملفات RSS أو ملفات XML أخرى .

” أشكر الأخ محمّد سفيان شراب على تصحيح المعلومة ، للمزيد حول هذا الموضوع ، اقرأ تعليقه حول هذه النقطة “

3- الاستفادة من لغة XML عند تبادل البيانات بين الأجهزة والتطبيقات المختلفة:

لنأخذ موقع Twitter على سبيل المثال لا الحصر!

أستطيع الدخول إلى حسابي وقراءة تحديثات أصدقائي في موقع تويتر عبر:

  • موقع www.twitter.com.
  • إضافة Echofon في متصفح FireFox.
  • تطبيقات AdobeAir مثل: Twhirl.
  • جهاز الجوال.
  • جهاز Iphone.
  • أجهزة الكمبيوتر الكفية.

وغيرها الكثير الكثير، كلها تتعامل مع نفس قاعدة البيانات وتعرض لي نفس التحديثات، لكن كلّ منها مبرمجٌ بلغةٍ مختلفة ويعمل بطريقةٍ مختلفة، كيف يحدث هذا؟، بالاستفادة من لغة XML!

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

في الدرس القادم بمشيئة الله سوف نناقش:

  • البنية الهيكلية.
  • إنشاء ملف XML.

  • السلام عليكم و رحمة الله
    شكرا لكم على الدورة , لي عودة للمناقشة إن شاء الله…

  • عدي عبدالرحمن

    مبدع أستمر ونحن بأنتظارك

  • سائل

    شكرا لك و أرجوا ان توضحي هذه العبارة :
    *عيبها الوحيد هو أنّها ليست لقاعدة بيانات علائقية*

    • شكراً لك، سؤالك استوقفني وجعلني أبحث أكثر حول هذه النقطة
      قاعدة بيانات علائقية = Relational Database
      وهل نمط قواعد البيانات الأكثر شيوعاً واستخداماً اليوم يمكنك القراءة باستفاضة عبر الرابط
      http://en.wikipedia.org/wiki/Relational_database

      في الحقيقة وبعد البحث استطعت الحصول على معلومات مؤكدة حول إمكانية إستخدام XML file كـ Relational DB بعكس ما ذكر، أعتقد أنه من المبكر الحديث عن كيفية التطبيق لكنني سأترك الروابط للمهتمين لمراجعتها بعد إستكمال أختنا إحسان للدورة.
      http://www.w3schools.com/schema/el_keyref.asp
      http://www.datypic.com/books/defxmlschema/chapter17.html

      دمتم بود

      • شكرًا جزيلاً لجلبك هذه المصادر ..
        قرأتُ سابقًا بأنّه لا يمكن تحويل ملفات XML إلى قواعد بيانات Relational DB بشكلٍ ذاتي ، لكن يبدو أنّ هذه المعلومة قديمة 😀

      • ابو محمد

        ليس من المنطق استخدامها كقاعدة بيانات علائقة فالهدف منها مختلف تماماً عن قواعد البيانات العلائقية.
        اما عن تحويل البيانات من xml إلى أحد قواعد البيانات فهو ممكن لكن مستحيل أن يتم بشكل تلقائي بسبب بسيط وهو انه كتابتك لمف xml ليس لها قواعد محددة ولا يستطيع البرنامج معرفة ما تريد الا اذا أخبرته انت بذلك لذلك لابد من التحويل اليدوي.

      • عزيزي أبو محمد
        أشاطرك الرأي في عدم منطقة الإستخدام عندما نتحدث عن قواعد بيانات كبيرة، لكننا كنا نناقش إمكانية ذلك من عدمه، وتبين أنه أمر ممكن !

        أما عن سبب عدم كفاءة XML لتخزين عدد كبير من البيانات فأول نقطة وأهم نقطة هو أن الـxml tag ستكون متكررة بشكل سيضاعف من حجم قاعدة البيانات مقارنة بنفس الكم من البيانات في القواعد التقليدية
        لنتخيل أننا نريد تخزين رقمين

        Traditional:
        number
        1
        2

        XML:
        1
        2

        يمكننا ببساطة أن نسترجع XML من قاعدة بيانات تقليدية بأكواد بسيطة أو ربما نجد كلاسات جاهزة لهذا الغرض، وتكمن الأهمية الأكبر لـXML في تخزين بيانات بسيطة مثل الـConfigs والـSitemap والـRSS أو تبادل الملفات بين البرمجيات والنظم والمواقع المختلفة.

        أما عن تحويل الـXML إلى قاعدة بيانات عادية فأعتقد أنك مخطئ والأمر بسيط جداً لأن ملفات الـXML عادة تكتب بقواعد محددة إما يتم إرفاقها في مستند جانبي ويمكن تحويلها ببساطة شديدة لأي نوع من أنواع قواعد البيانات أو من المستند نفسه ويكون الأمر أكثر صعوبة لأنه بحاجة لتحليل الملف

        أعتذر على الإطالة

    • سوف اقوم بتعديل هذه النقطة إن شاء الله وإسهاب الحديث حولها بشكلٍ أكبر .
      قواعد البيانات العلائقية أو Relational DB تمكّنك من إقامة جسورٍ او علاقات بين جداولك .
      على سبيل المثال : إذا كانت لدينا قاعدة بيانات تحتوي على جدول الطلاب وجدول الفصول الدراسيّة ، كل فصل دراسي يحتوي مجموعة من الطلاب ، لكنّ الطالب الواحد لا يمكنه الالتحاق بأكثر من فصل ، وهنا تكون العلاقة one 2 many ، أي واحد إلى متعدد .

      مثال آخر : جدول الزبائن وجدول السلع ، كلّ زبون يمكنه شراء أكثر من سلعة ، والسلعة يمكن أن يشتريها أكثر من زبون ، هذه العلاقة تُعرف بـ many 2 many أو متعدد إلى متعدد .

      يمكن أيضًا أن يرتبط الجدول بنفسه ، مثلاً : جدول التصنيفات في هذه المدونة ، يمكن ان يتفرّع تصنيفٌ من تصنيف آخر .

      أتمنى أن تكون الفكرة قد وصلت

  • السلام عليكم ورحمة الله وبركاته

    بداية شكراً لك على هذا الجهد المميز وأتمنى من الله عز وجل أن ينفعنا جميعاً بهذا العلم وأن يسخرنا لإخواننا …
    في الحقيقة كمهتم ودارس لهذا المجال اسمح لي أن أتوقف عند بعض النقاط
    —–
    “XML هي اختصار لـ: eXtendable Markup Language أي: لغة الترميز الموسَّعة.”

    أعتقد أن الترجمة غير صحيحة وأن الترجمة الأصح لـeXtendable هي المتوسعة أو المتمددة، وأتمنى أن يكون الفرق واضح في الترجمة
    ——
    “استخدام ملفات الـ XML كقاعدة بيانات، أكثر سهولة ومرونة وسرعة من بقيّة قواعد البيانات، وعيبها الوحيد هو أنّها ليست لقاعدة بيانات علائقية.”

    هذه الجملة تحتاج إلى مراجعة وإستشهاد في حالة صحتها، مع أنني أعتقد جازماً أنها ليست كذلك، أعتقد أنك تقصد هنا XML Database وليس XML file الإعتيادية، ولكن يبقى السؤال مطروحاً هل هي أسرع ؟؟ ببساطة لا أعتقد ذلك
    ——
    “تحويل ملفات XML إلى ملفات أخرى مثل CSS أو Text Files.. وغيرها.”

    هل فعلاً تقصد تحويل XML doc إلى CSS !!!؟
    أعتقد أنك تقصد إستخدام CSS أو XSLT في XQuery في تحويل XML إلى أنواع مختلفة من الملفات مثل HTML أو Plain Text ؟
    ——
    “2- الاستفادة من لغة XML عند تبادل البيانات بين موقعين فأكثر:”

    رغم أن RSS هو تطبيق أساسي ومهم جداً في تبادل البيانات بين المواقع ولكن ليس المستخدم في الأمثلة المذكورة والتي تعمل على ملفات XML مباشرة دون إتباع معايير RSS ؟
    ——

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

    دمتم بود

    • أهلاً بك أ.محمّد ، سعيدة لوجود مهتمّ ودارس لهذا المجال معنا هنا ..
      وحول النقاط الَّتي ذكرتها :

      [ أعتقد أن الترجمة غير صحيحة وأن الترجمة الأصح لـeXtendable هي المتوسعة أو المتمددة، وأتمنى أن يكون الفرق واضح في الترجمة ]
      أتفق معك في ذلك ، سوف يتمّ تعديل الترجمة إن شاء الله ، ” القابلة للتوسّع ” سوف تكون ترجمة جيدةً أيضًا .

      [ هذه الجملة تحتاج إلى مراجعة وإستشهاد في حالة صحتها، مع أنني أعتقد جازماً أنها ليست كذلك، أعتقد أنك تقصد هنا XML Database وليس XML file الإعتيادية، ولكن يبقى السؤال مطروحاً هل هي أسرع ؟؟ ببساطة لا أعتقد ذلك ]

      موضوع الـ XML وقواعد البيانات شائك جدًا ، أتفق مع الرأي الّذي يقول بأنّ الـ XML Documents هي شكل من أشكال قواعد البيانات ، وهذا هو ما اتحدّث عنه ، استخدام ملفات الـ XML كقواعد بيانات مع XPath و XQuery كلغات استعلام .
      استخدام هذه الملفات أسرع من قواعد البيانات الاعتياديّة لأنّني أستطيع الوصول إليها والتعامل معها عن طريق XML Dom أو مكتبة الـ JQuery دون الحاجة لاستخدام لغات الـ Server-Side ، لكنّها قواعد بسيطة ولا يمكنني عبرها ان أنشئ علاقات بين الجداول .
      يوجد نوع آخر من XML Databse وهو : XML-Enabled ، وهذا كما فهمت – والله اعلم – يعتمد على تطبيقات تقوم بتحويل مجموعة من ملفات الـ XML إلى Relational DB .

      [ هل فعلاً تقصد تحويل XML doc إلى CSS !!!؟
      أعتقد أنك تقصد إستخدام CSS أو XSLT في XQuery في تحويل XML إلى أنواع مختلفة من الملفات مثل HTML أو Plain Text ؟ ]

      لا يا أخي الكريم ، بل أقصد ما كتبتُه تمامًا ، تحويل XML Document إلى CSS Files عن طريق XSTL و XPath ، وقد كان جزءًا من مشروع تخرجي يعتمد على إنشاء ملفات CSS بطريقة داينميكية فاستخدمتُ هذه الطريقة .

      [ رغم أن RSS هو تطبيق أساسي ومهم جداً في تبادل البيانات بين المواقع ولكن ليس المستخدم في الأمثلة المذكورة والتي تعمل على ملفات XML مباشرة دون إتباع معايير RSS ؟ ]

      عندما بدأتُ دراسة الـ XML قبل سنةٍ تقريبًا ، سألتُ مشرف أحد المدونات التقنيّة الرائدة : هل مقدرتي على التعامل مع Twitter عبر أكثر من موقع هو بسبب استفادته من XML ؟ ، فقال لي : بل بسبب استفادته من RSS المبنيّة بواسطة XML وإذا لاحظتِ فإنّ أيقونة RSS موجودة أسفل الموقع .
      لذلك فقد حرصتُ على تأكيد هذه المعلومة في الدرس .
      عمومًا ، تبادل البيانات بين المواقع يعتمد على مبدئي Syndication و Aggregation ، ولا أعرف وسيلةً لتطبيقهما سوى الـ RSS .
      وإذا كان لديك معلومةٌ أخرى فأتمنى أن تجود بها علينا .

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

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

      • نعم أعتقد أن “القابلة للتوسّع” ترجمة أكثر وضوحاً

        بخصوص النقطة الثانية لا أود التوسع فيها كثيراً لأنها ليست نقطة جوهرية في الموضوع ولا أود أشغال القراء الجدد بهذه المقارنات لكن بشكل سريع وبسيط
        أعتقد أن إستخدام XML سيكون “أكثر سهولة ومرونة وسرعة” فقط في حالة إستخدام بيانات بسيطة وقليلة جداً، أما إذا كنا نتحدث عن قاعدة بيانات متوسطة أو كبيرة فلا أعتقد أن الكلام صحيح لأنك ستحتاجين إلى Server-side script للتعامل مع الxml في كل الأحوال، وحتى إستخدام الـxPath و xQuery لن يكون بكفاءة لغات الإستعلام الحالية لهذا الحجم من البيانات. على كل حال هذه الأمور تبقى خلافية ما لم تدعم بتجارب عملية أو مصادر علمية موثوقة.
        —-
        تطبيق وإستخدام رائع للـXML، فعلاً سيكون مفيد جداً لعمل ستايل ديناميكي، لم يخطر ببالي هذا الإستخدام لذا أردت السؤال، شكراً جزيلاً.
        —-
        أختي الفاضلة مع تقديري الشديد لمصدر المعلومة، الـRSS يستخدم في هذا المجال على نطاق ضيق جداً، وهو مصنوع خصيصاً “للمتابعة” وليس “تبادل البيانات”، ولكي تضح الأمور أكثر بشكل تطبيقي يمكننا الإستفادة من خدمة الـRSS في جلب آخر تدوينات الأصدقاء عبر الفيس بوك عبر رابط
        http://www.facebook.com/feeds/friends_notes.php?id=XXXX&key=XXXX&format=rss20
        بينما يتوجب علينا التعامل مع مستند XML في حالة أردنا الحصول على أصدقاء شخص معين عبر إستخدام الـAPI كما هو هنا
        http://wiki.developers.facebook.com/index.php/Friends.get

        والسبب في عدم كفاية RSS لتبادل البيانات بسيط جداً وهو أن RSS يعتمد على تركيبة بيانات محددة وثابتة ولا تعطي السلاسة والسهولة لتبادل أنواع مختلفة من البيانات
        http://www.w3schools.com/rss/default.asp

        أتمنى أن تكون الفكرة وضحت، وبخصوص قواعد البيانات هناك رد لي على الأخ سائل تحدثت فيه عن إمكانية إستخدام XML ك Relational DB أتمنى أن يفيدك.

        تحياتي

    • أشكرك مرةً أخرى 🙂
      خلفيتي حول الـ XML تتضاءل بتواضعٍ أمام خبرتك ..
      أتمنى أن تستمرّ بمتابعة دروس الدورة وتقويم أخطائي ، سوف أكون سعيدة بالنقاش معك أيضًا .
      واهلاً بك في عالم التقنية ^_^

      • العفو أختي إحسان

        وإن شاء الله تكتمل الدورة على خير ونستفيد من النقاشات ونفيد بما لدينا من معلومات، بالمناسبة قمت بإرسال رسالة عبر المدونة أعتقد أنها ستساعد قراء المدونة بشكل أكبر

        دمتم بود

  • M!sS

    السلام عليكم
    هل تنصحيني كمبتدئه من الصفر ان ابدأ من هنا ؟؟

    اذا كان الجواب لا فماهي اللبنة الأولى لاكون مصممة ويب
    ليس لدي خلفية برمجه إلا اني فقط ادرس اخوتي الفجول بيسك لمنهج الحاسب الآلي :$

  • احسان ..
    غيرتي مفهومي تماما عن هذه اللغة ولقتي نظري لمعلومات لاول مرة

    اسلوبك سهل وبسيط وممتع .. واضح في نفس الوقت
    تسجيل اعجاب ومتابعة
    ربي يوفقك

  • اشكرك اخي على هذه الدورة المفيدة بأذن الله ,,
    عندي شوية ملاحظات ,,
    ماهي الادوات الي بواسطتها اقدر اعمل ملفات xml
    وهل تعتمد هذه اللغة على مترجم معين ام هي كا html
    ممكن اسويها با المفكرة ؟؟؟
    ثاني شي ,, هل تعتمد هذه اللغة على وسوم html
    بمعنى انو الشخص الي ما يجيد استخدام html
    هل ممكن يعمل ملفات xml

    اتمنى لك التوفيق اخوي
    ^_^

    • 1 : ماهي الادوات الي بواسطتها اقدر اعمل ملفات xml ؟
      محررات النصوص المعروفة مثل الـمفكرة ، وأيضًا توجد محررات خاصّة بالـ XML ، لكنّي أستخدم Notpad++ لتحرير ملفات XML وHTML وCSS وغيرها .

      2: هل تعتمد هذه اللغة على مترجم معين ام هي كا html ؟
      لا تعتمد على مترجم معين ، فكما ذكرت في تعريفي للغات الترميز فهي لغات يتمّ ترجمتها عبر المتصفحات مباشرة .

      3:بمعنى انو الشخص الي ما يجيد استخدام html
      هل ممكن يعمل ملفات XML ؟
      نعم تستطيع كتابة ملفات XML بدون معرفة HTML .

  • FHD2007

    Thanks .. Very Thanks

    >>متابع

  • ابو محمد

    اشكرك يا أخت احسان على هذا المجهود واتمنى لك التوفيق في تحقيق ما تريدين.

    الشكر موصول ايضاً للأخ محمد سفيان على مداخلاته ولو كنت اريد أن استمر في النقاش معه لكن اخشى ان نستغرق في أمر ليس من المفيد الاستغراق فيه

    وبالنسبة لمحرر XML فبإمكانك استخدام المفكرة (لا أحبذ ذلك) أو استخدام أحد محررات XML الكثيرة وأقترح
    Notepad++ وهو محرر للعديد من اللغات بسيط ومجاني

    اما بالنسبة لي فأنا استخدم Visual Studio

    • الشكر موصول لك أخي أبو محمد

      إن شاء الله سنجد متسع لحوارات أعمق وأكبر في مراحل متقدمة من الدورة

      دمتم بود

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

  • أحمد نفاع

    مشكوووووووووووووور يا بطل

  • سائل

    شكرا لك أخ سفيان و أخت إحسان ..

  • بارك الله في الجميع
    أجد نفسي متحمس لتعلم شيئ جديد 🙂

  • الشباب كلهم دخلوا يتعلموها وفاكرين انهم سيستفيدوا منها وهم ليس لديهم خبرة لا في البرمجة ولا التصميم فأتمني التوضيح لهم انها ليست لغة برمجية ستستفيد بها في إنشاء شئ مبرمج
    ولا حتي لغة يمكنك عمل موقع بها او تصميم
    هي وسيط ستستخدمه مع البرمجة لوظائف محددة
    فقد تستخدم بشكل محدود لتلقين المتصفح او المواقع RSS
    او تلقين جوجل ملفات السايت ماب
    او قد تستخدم بشكل مفتوح في استخدماتك الخاصة كما اقوم انا بقي بنقل بيانات بين برمجتين علي سيرفرين مختلفين بواسطة API تقوم حسب المدخل لها في الرابط بجلب المحتوي من قاعدة البيانات ومن ثم عرضه في xml ليقوم الموقع الأخر بعدما طلب الرابط بنسخ المحتوي المعروض واخذه والاستفادة منه

    وايضا تستخدم داخل السيرفر الواحد لتناقل البيانات الداخلي بين ال php والجافا سكربت بما يسمي AJAX حيث تقوم بطلب صفحة php بشكل داخلي cross site والتي بدورها تجلب البيانات المطلوب وتعود لها بهذه البيانات مرتبة إما في XML او في JSON ( الثانية اسرع وافضل كثير لو كانت الداتا قليلة )

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

    هذا والله اعلم

    • أهلاً أخي الفاضل

      🙂 أولاً أختنا إحسان وضحت بأنها ليست لغة برمجة منذ أول سطر في التدوينة

      لكن أعتقد أن تعلم الـXML اليوم هو أكثر أهمية من تعلم أي لغة برمجة وأي برنامج تصميم، وأعتقد أن ضعف المتابعة العربية للمتغيرات التقنية في العالم سببت حصر الـXML في بعض المجالات التي سبق وذكرتها، أو ربما تكون تستخدم XML وأنت لا تدري أنك تستخدمها من الأساس :D، وأعتقد أن الأخت إحسان أتقنت وصفها عندما وصفتها بـ”لغة العصر”.

      لنخرج من الدوائر الضيقة ولنرى بعض إستخدامات الـXML
      * تصميم الواجهات الرسومية مثل XAML من Microsoft
      * إستخدامات في الويب الدلالي مثل OWL من W3C
      * القاعدة الأساسية لمفهوم خدمات الويب بالكلية : SOAP,WSDL,BPEL
      * حفظ الصور المتجهية مثل SVG
      * حفظ تصاميم UML الخاصة بمهندسي البرمجيات مثل XMI

      أعتقد أنه لا يوجد مجال في عالم التقنية “:D لا أقصد المدونة” إلى وبدأ باستخدام الـXML بشكل أو بآخر

      نعم قد تكون JSON أسرع لأنها لا تحمل سوى البيانات ويجب على الطرفين أن يكونا على علم سابق بالترتيب المحدد للبيانات.
      نعم قد تكون YAML أفضل لأنها لغة سهلة القراءة من قبل الإنسان بدون الحاجة لكتير من الوسوم

      لكن كلتا اللغتين لا يمكن أن تستبدلا الـXML، والأصح أنهما لن تستطيعها إستبدال الحرف الأول (X eXtendable)

      والله أعلى وأعلم
      دمت بود

      • أشكرك علي التعقيب اخي ولكن لا تزال كل الأمور التي قلتها تستخدم ال xml كوسيط لنقل البيانات بتاجز محددة توضح معني المحتوي
        بمعني ان اللغة لا تزال لدي حتي بعد ما قلته شئ لا يحتاج لشرح !!
        هي مجرد تاجز ستنشئها بأسماء محددة من قبل او اسماء تحددها انت حسب الاستخدام إن كان عام ومتفق عليه او خاص لتنقل داتا فقط
        يعني من رأيي ان تدوينة واحدة توضح ما هي مع امثلة نظرية لأستخداماتها مع مثال او اثنين عملي كان اكثر من كافي
        ومن يريد التخصص فعليه بمعرفة المجال المطلوب استخدامها فيه
        فمثلاً انا كمبرمج ويب تعرفت علي المكتبات الخاصة بالتعامل معها وذلك لمعرفة كيفية قرائتها وتحويلها لمصفوفة لنبدأ عملية العرض او التخزين
        هنا انت لا تتعرف علي اللغة نفسها ولكنك تتعرف عن كيفية استخدامها داخل ال php للقرائة ( الكتابة بسيطة فهي لوب وفرغ المحتوي )

        اذا ما اعتبرنا ان هناك دورات بسيطة للتعريف علي تاجز ال HTML وخصائص كل واحدة وذلك لكثرتها وكثرة خصائصها وإمكانية تداخلها لأخراج شئ اخر
        فال XML لا تحوي خصائص محددة ولا تاجز محددة ولكنها مفتوحة لك انت لتضعها مما يعني ان الأمر لا يحوي في الحقيقة علي شئ يحتاج للشرح والتوضيح والإستضافة
        اللهم إلا كان الأمر سيتم مناقشة كل المجالات التي يمكنك استخدامها فيها كما شاهدت في نقاشكما انت والأخت احسان من جذب اطراف الحديث حول امور اعتبرها كلمات نظرية ليست بذات اهمية عملية

        مازلت لم افهم اخي ما هو المطلوب توضيحه حول ال XML حتي الأن لأنها بعد كل ما قيل لم يتغير طعمها في فمي انها مجرد تاجز وخصائص لها تنقل بها داتا خاص بك لتكون مدلولة ومقسمة
        شبيه الأمر بعمل جداول وحقول داخل قاعدة البيانات لتخزين الداتا
        فهل فهمي خاطئ ؟
        لو كان نعم ممكن توضح لي اكثر ما هي هذه ال XML التي تم النفخ فيها بشدة حتي ظننت اني سأتعرف علي شئ جديد وضخم بخصوصها عن كونها مجرد تاجز تخصصها لتوصيف بياناتك

        اتمني يكون مقصدي وضح

      • 🙂 أهلاً وسهلاً مرة أخرى

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

        أستاذي الفاضل ما تستتفه أنت الآن يدرس في الجامعات في ما يقارب 4 إلى 6 محاضرات، فقط لشرح الـXML والأدوات الرئيسية المستخدمة معها.

        أختنا إحسان وضحت ما تود الحديث عنه في المقدمة
        المحتويات:
        * نبذة عن لغات الترميز، تعريف لغة XML ووظائفها.
        * البنية الهيكلية، إنشاء ملف XML.
        * قواعد كتابة ملفات XML، تطبيق عملي.
        * الإبحار في ملفات الـ XML، التعرّف على XML Namespaces.
        * نبذة عن لغات وتقنيات بُنيَت على أساس XML: XHTML ، WAP ، RSS ، XML Schema ، XPath , XSTL , XSL-FO

        هل حضرتك تجيد إستخدام كل هذه الامور ؟
        إذاً يمكنك الإسهام في إضافاتك المميزة لإفادة التقنيين العرب

        هل حضرتك غير مهتم بهذه الأمور ؟
        🙂 إذاً يمكنك أن تبحث عن دورات أخرى تغطي إهتماماتك

        لسنا الوحيدين الذين يضيعون أوقاتهم في كتابة أمور غير ذات قيمة، أعتقد أنه لا يوجد شخص مهتم بالويب لا يعرف http://www.w3schools.com ؟
        ما رأيك بكون أكثر من 50% مما تشاهده في الموقع تعتمد على XML ؟
        فبجانب القائمة الخاصة بالـ XML Tutorials
        هناك أيضاً:
        Learn XHTML
        Learn AJAX
        E4X Tutorial
        Learn SVG
        Learn SMIL
        إضافة لكل ما يندرج تحت قائمة Web Services:
        Learn Web Services
        Learn WSDL
        Learn SOAP
        Learn RSS
        Learn RDF
        Learn WAP
        Learn WMLScript

        هههه بل تخيل أن الموقع يقدم شهادة رسمية لإجادة التعامل مع هذه اللغة البسيطة التافهة ؟

        ما رأيك في التالي:
        1- شخص يقوم بطرح دورة حول ” مبادئ لغات البرمجة ” ويشرح فيها المبادئ الأساسية والمشتركة بين كل لغات البرمجة في العالم من متغيرات وجمل شرطية وجمل تكرار والطرق العلمية لحل المشاكل دون أن يقدم أي تطبيق عملي حقيقي !

        2- شخص يقوم بطرح دورة في ASP.NET في مجتمع لا يفقه ما هو معنى كلمة “لغة برمجة” ولماذا يمكن إستخدامها !

        🙂 أعتقد أن طرح مواضيع عربية حول إستخدامات الـXML لا يمكن أن يتم إلا بوجود مراجع عربية قوية حول الـXML نفسها لتكون الفكرة مقبولة ومفهومة لدى المتلقي

        نهاية وببساطة وإختصار
        XML هي طريقة مرنة وموحدة لحفظ البيانات سببت ظهور طرق مرنة وموحدة لمعالجة هذه البيانات وألغت الفروقات ما بين لغات البرمجة وأنظمة التشغيل في التعامل مع البيانات.

        قد يظن البعض أن الـXML ليست لغة مجدية فعلاً وأنها تستخدم فقط في الـمصادر المفتوحة أو الشركات الصغيرة التي لا تستطيع توفير طرق خاصة لحفظ بياناتها، لكن Microsoft Office 2007 أبسط مثال على إستخدام XML في حفظ البيانات، السؤال الذي يجب أن تبحث عن إجابته الآن لماذا تم هذا التحول ؟ ولماذا XML وليس غيرها ؟

        أعتذر على الإطالة لكن نحن بحاجة لمئات المقالات إذا أردنا الإسهاب والحديث عن الـXML.

    • مرحبًا أخي وأستاذي الكريم ..
      لا شكّ في أنّ الأستاذ محمّد سفيان قد أسهب في الردّ على مداخلتك ، لكن اسمح لي بأن أوضّح لك أمرًا يهمّني جدًا في هذه الدورة .

      لقد كتبتُ في مقدّمة هذا الجزء ” أستطيع اختصار هذه الدروس كلها في درسٍ واحدٍ فقط ” .. نعم أخي أقرّ بذلك ، أن أعطي الزوّار نبذة عن كيفية كتابة ملفات الـ XML واستخداماتها وحسب .

      ثمّ أبدًا فورًا شرح تطبيقات عملية : كيف تبني موقع فلاشي باستخدام ملفات XML كقاعدة بيانات ؟ كيف تبني ملفات CSS داينميكيًا باالاستفادة من XML ، درس لبرمجة سجل زوار بواسطة لغة XML … إلخ إلخ .

      ثمّ ماذا ؟ هل من الصواب أن نقدّم الفائدة العمليّة على المبدئ المنطقي للتقنيات واللغات ؟

      إنّنا نفعل ذلك دائمًا في العالم العربيّ ولذلك فنحن لن نتقدّم خطوةً واحدة إلى الأمام ، سوف نظلّ نستخدم أدواتٍ جاهزة يبنيها غيرنا دون ان نفهم منطقها ودون ان يكون لنا الإبداع في بناء الجديد ، يوجد مئات المصممين العرب الَّذين يستخدمون الأجاكس في تصاميمهم ، كم واحدًا منهم يفهم منطق الأجاكس وأساسها ومبادئها ؟

      لغة XML بالذات هي لغة متوسعة .. ماذا يعني ذلك ؟ يعني بأنّني إذا فهمتُ منطق اللغة وأصبح لديّ أساس نظريّ لها أستطيع تطويعها لصالحي كيفما أشاء ، لقد استخدمتُ لغة XML في أغراض لم أقرأ عنها ولم أجد احدًا يستخدمها بطريقتي ، ببساطة لأنني فهمتُ انّها لغةٌ لا تحتاج لحصرها في أغراضٍ ضيّقة – مثلما فعلتَ في تعقيبك – بل أستطيع أن أشكّلها كالصلصال في يدي كما أشاء .

      أخي الكريم ، أنتَ لك منهجًا مختلفًا في البرمجة ، فأنتَ كما فهمت تقدّم معرفة طرق الاستخدام على فهم فلسفة اللغة وكيفيّة كتابتها ، انا ببساطة لا أتّفق معك في هذا ، فالبرمجة ليست مجرّد أدواتٍ جاهزة نستخدمها ، وإنّما منطقٌ وفنّ وعلم قبل كلّ شيء .

      وشكرًا لمداخلتك وإن اختلفنا ..

  • somiah

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

    أشكر الأخت إحسان جزيل الشكر وفقها الله وفتح عليها

    كما أشكر الأخ محمد سفيان شراب جزيل الشكر

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

    جزاكم الله خيرا و(ء اسفه إن أزعجت أحد الطرفين )

  • بارك الله فيك عزيزتي إحسان ..

    مستمتعة جداً

    ربي يبارك فيكِ

  • iSultanSh

    مجهود مبارك وأظن بأن الهذه المدونة بحاجة إلى مثل هذا الحماس

  • بداية رائعة
    بالنسبة لافضل المحررات هو ادوبى دريم ويفر
    لمن لم يعرف فيما تستخدم xml بالأضافة الى اوفيس 2007
    – شريط الأدوات الجانبى (Windows Sidebar) تجد انه يستعمل ملفات xml
    ايضا لو بتستعملو الماسنجر بلص تجد الأضافات عبارة عن نوافذ هذه النوافذ بها ادوات من صناديق نصوص فى الأصل تجد النافذة التى تتعامل معها عبارة عن ملف xml (على سبيل المثال توجد اضافة خاصة بالترجمة من خلال جوجل )
    مشكور جدا للقائمين على هذه الدورة

  • amr

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

  • ابووصال

    شكرا وجزاكي الله بالخير
    المرجوا ان امكن موافاتي بهده الدروس على البريد الاتي
    rifki.bilal2010@hotmail.com

  • khalifa jarallah

    أنا مهندس من تونس أبحث عن ترميز العربية في xml

  • khalifaj

    encodage de caractere de langue arabe dans un fichier xml je essaye de écrirer un site web arabe je n’e trouve pas l’encodage

  • Hey this is a attractive looking site, is this wordpress? Forgive me for the foolish question but if so, what theme is? Thanks!

  • Escort Agency, Exclusive Company In North West England Providing Outcall Services

  • When would you like to post again? You will inform me!

  • A real cool blog post! Appreciate your spreading this post…

  • A bit of off topic mayhap, but anyways �C which template are you using? I genuinely love the CSS style.

  • السلام عليكم
    والله أنا مبسوط جدا لأنو أول مرة أجد مبرمج عربي يرقى لمستوى كمستوى الأخت إحسان
    بارك الله فيك
    لكن اين بقية الدروس

  • Hazem

    GOOD INFO , Regards

  • حسناء

    “تحويل مجموعة من المستندات إلى قواعد بيانات عن طريق استخدام إحدى التطبيقات” كيف يتم ذلك وشكرا.

  • ما هو مدى إستفادة قوالب بلوجر من لغة xml؟

تعليقات عبر الفيسبوك