ما الفرق بين HTML وXML؟

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

اقرأ حول XML »

ما هي أوجه التشابه بين HTML وXML؟

ينتمي كل من XML وHTML—إلى جانب لغات أخرى مثل LaTeX وSVG وMarkdown وSGML—إلى عائلة من لغات البرمجة تسمى لغات الترميز.

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

ولغات الترميز، يوجد العديد من أوجه التشابه بين HTML وXML.

الصياغة

عادةً ما تحتوي لغات الترميز على صيغة مشابهة، بما في ذلك العلامات والسمات.

العلامات (Tags)

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

السمات (Attributes)

توفر السمات مزيدًا من المعلومات حول العنصر، مثل عنوان URL للصورة. في HTML وXML، يمكنك تحديد سمات عنصر داخل علامة الافتتاح.

هيكل محدد جيدًا

يجب أن تلتزم كل من مستندات HTML وXML بقواعد بناء الجملة للغة المعينة للمعالجة الصحيحة. يُعرف المستند الذي يتبع القواعد بالوثيقة جيدة التكوين. يتطلب المستند الذي تم تكوينه جيدًا ما يلي:

  1. عنصر جذر واحد
  2. علامات الإغلاق (أو الإغلاق الذاتي) لجميع العناصر
  3. التداخل الصحيح مع العلامات المضمنة في علامات أخرى
  4. وصف صحيح للأحرف الخاصة، مثل & & للرمز

يستخدم المطورون تطبيق محرر نصوص أو بيئة التطوير المتكاملة (IDE) لكتابة الصيغة والتحقق منها.

اقرأ عن بيئات التطوير المتكاملة المحلية (IDE) »

الاستخدام

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

في حالة HTML، تكون صفحات التطبيق ديناميكية من خلال لغات البرمجة النصية التي تنشئ HTML جديدًا. بالنسبة لـ XML، تستخدم لغات البرمجة معلومات جديدة لتحديث المعلمات.

استقلالية النظام الأساسي

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

الاختلافات النحوية الرئيسية: HTML مقابل XML

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

بعد قليل، نتحدث أكثر عن كيفية اختلاف HTML وXML في العلامات.

علامات محددة مسبقًا

في HTML، هناك علامات محددة مسبقًا. هذا يعني أن العلامة نفسها تأتي من قائمة محددة بمعيار HTML. معيار HTML الحالي هو HTML5. 

فيما يلي أمثلة لعلامات HTML5 المحددة مسبقًا:

  • <header> هي العلامة الخاصة بعنوان المستند
  • <p> هي علامة الفقرة
  • <h1> حتى <h6> هي علامات لستة مستويات من العناوين
  • <a> هي علامة الارتباط التشعبي
  • <img> هي العلامة الخاصة بالصورة
  • <div> هي العلامة لعنصر الحاوية لتجميع العناصر الأخرى
  • <body> هي علامة تحدد المحتوى الرئيسي

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

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

نقدم بعض الأمثلة على صيغة HTML و XML في الجدول التالي.

HTML

XML

<p class="body_paragraph">هذه فقرة</p>

class= يشير إلى أن العنصر يحتوي على سمة فئة، body_paragraph، يمكن استخدامها لتطبيق الأنماط.

<country language="English">كندا</country>

تشير الدولة إلى عنصر البلد. تشير اللغة إلى أن العنصر يحتوي على سمة لغة، الإنجليزية.

<body>

<h1>هذا عنوان</h1>

<p class="body_paragraph">هذه فقرة</p>‏

<div>

<h2>هذا عنوان فرعي</h2>

<p>هذه فقرة أخرى</p>

</div>

</body>

<continent name="Europe">

<country language="English">

المملكة المتحدة

<currency>الجنيه الإسترليني</currency>

</country>

<country language="German">

ألمانيا

<currency>اليورو</currency>

</country>

</continent>

علامات الإغلاق الذاتي

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

في المقابل، يمكن أن توجد علامات الإغلاق الذاتي في XML في أي مكان لا يوجد فيه محتوى.

HTML

XML

<img src="my_image.jpg" alt="My image" />

<country name="United Kingdom" currency="GBP" />

الاختلافات الرئيسية الأخرى: HTML مقابل XML

على الرغم من أوجه التشابه بينهما، هناك العديد من الاختلافات بين XML وHTML.

الهدف

تُعرف HTML عمومًا باسم لغة الويب. الغرض الأساسي من HTML هو عرض المحتوى، الوارد في مستند نصي، في شكل رسومي في المتصفح.

في المقابل، تسمح XML للتطبيقات المختلفة بتبادل وتخزين البيانات وهيكلها بطريقة مفهومة عالميًا. الغرض الأساسي من XML هو السماح لأنواع مختلفة من التطبيقات، مثل قواعد البيانات، بفهم واستخدام نفس البيانات وهيكلها. 

الكتابة

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

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

المخطط

توفر تعريفات أنواع المستندات (DTDs) أو المخططات بنية يمكن التحقق من صحتها وتكرارها لمستندات مماثلة. عادةً ما تتضمن معلومات مثل هذه:

  • إصدار HTML أو XML المستخدم
  • العناصر والسمات المسموح بها
  • قواعد بنية المستند وعلاقات العناصر

في HTML، يعد DTD إعلانًا مضمنًا في بداية مستند HTML.

في XML، يعد DTD ملفًا منفصلاً. يعد DTD أكثر أهمية في XML لأن علامات XML يتم تعريفها بواسطة منشئ المستند. تساهم DTD في الفهم المشترك للعلامات بين مرسل البيانات والمُستقبِل.

متى تستخدم HTML مقابل XML

HTML هو نوع من الترميز المعروف باسم لغة العرض. ترجع التسمية لغة عرض إلى حقيقة أنها لأغراض العرض. يمكنك استخدام HTML لإنشاء صفحات الويب وتطبيقات الويب من جانب العميل. يتم دمجها عادةً مع لغة Cascading Style Sheets‏ (CSS) لأغراض التصميم ولغة برمجة JavaScript للسلوكيات الديناميكية.

في المقابل، يمكنك استخدام XML لتبادل البيانات بين تطبيقين أو نظامين. لفهم نفس التنسيق، قامت التطبيقات بمشاركة مخططات XML التي تحدد محتوى ملف XML.

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

كيفية استخدام HTML وXML معًا

يمكن تضمين XML في HTML وتحليلها باستخدام لغة برمجة JavaScript لإنشاء صفحات ويب ديناميكية. وبالمثل، يمكن أيضًا تضمين HTML في XML إذا لزم الأمر، باستخدام بيانات الأحرف (CDATA) للنص العادي. راجع الأمثلة التالية.

XML في HTML

HTML في XML

<html>

  <head>

    <title>صفحة XML المضمنة</title>

    <script type="text/xml">

      <data>

        <item>

          <name>Apple</name>

          <price>1.00</price>

        </item>

        <item>

          <name>Passionfruit</name>

          <price>2.00</price>

        </item>

      </data>

    </script>

  </head>

  <body>

    <h1>Dynamic Fruit Prices</h1>

    <div id="output"></div>

    <script>

      var xml = document.querySelector('script[type="text/xml"]').textContent;

      var parser = new DOMParser();

      var doc = parser.parseFromString(xml, "text/xml");

      var output = document.querySelector('#output');

      var items = doc.getElementsByTagName('item');

      for (var i = 0; i < items.length; i++) {

        var item = items[i];

        var name = item.getElementsByTagName('name')[0].textContent;

        var price = item.getElementsByTagName('price')[0].textContent;

        output.innerHTML += '<div><strong>' + name + '</strong>: ' + price + '</div>';

      }

    </script>

  </body>

</html>

<embeddedHTML>

    <title>كود HTML مُضمن في XML‏</title>

    <description><![CDATA[

        <div>

            <h1>عنوان HTML مضمن</h1>

            <p>فقرة HTML مضمنة.</p>

        </div>

    ]]></description>

</embeddedHTML>

لغة توصيف النص التشعبي القابلة للتوسيع (XHTML) هي لغة ترميز أخرى تجمع بين HTML وXML في تركيبتها.

ملخص الاختلافات الرئيسية: HTML مقابل XML

 

HTML

XML

ما التعريف؟

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

لغة ترميز تستخدم بشكل أساسي لتبادل البيانات المهيكلة بين أنظمة الكمبيوتر.

سنة الإصدار

1993.

1998.

الغرض

لغة العرض.

لغة تبادل البيانات.

استخدمها عند

إنشاء صفحات ويب من جانب العميل أو تطبيقات الويب.

تبادل البيانات بين نظامين (ولكن تحقق مما إذا كان JSON هو التنسيق الأفضل بالنسبة لك).

العلامات

علامات محددة مسبقًا.

علامات قابلة للتمديد.

الكتابة

ديناميكية.

تم إصلاحه عند استخدام مخطط XML.

كيف يمكن لـ AWS دعم متطلبات HTML وXML الخاصة بك؟

يمكن لجميع خدمات تكامل بيانات Amazon Web Services (AWS) معالجة ملفات XML. فيما يلي مثالان:

  • AWS Glue هي خدمة تكامل بيانات بدون خادم يمكنك استخدامها لإعداد البيانات بواجهة مرئية تفاعلية تعمل بالتأشير والنقر دون كتابة تعليمات برمجية. يمكن لـ AWS Glue DataBrew إدخال جميع أنواع تنسيقات الملفات، بما في ذلك XML.
  • خدمة قوائم الانتظار البسيطة في Amazon (Amazon SQS) هي خدمة قائمة انتظار رسائل مُدارة بالكامل يمكنك استخدامها لإرسال الرسائل وتخزينها واستقبالها بين مكونات البرامج بأي وحدة تخزين. يمكن أن تحتوي رسائل Amazon SQS على ما يصل إلى 256 كيلوبايت من البيانات النصية، بما في ذلك XML و JSON والبيانات غير المنسقة.

وبالمثل، تقدم AWS مجموعة واسعة من الأدوات والخدمات لتطوير تطبيقاتك ونشرها وتشغيلها على نطاق واسع. على سبيل المثال، إليك خدمتان يمكنك استخدامهما:

  • مع AWS Amplify، يمكنك إنشاء واجهة مستخدم مثالية للبكسل بشكل مرئي. قم بتوصيل واجهة المستخدم الأمامية الخاصة بك بالواجهة الخلفية السحابية ببضع نقرات.
  • باستخدام Amazon Lightsail، يمكنك استخدام مجموعات التطوير التي تم تكوينها مسبقًا لإنشاء تطبيقات ومواقع ويب مخصصة ببضع نقرات فقط.

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