وقبل أن نتطرّق إلى الفرق بين اللغتين، يجدر بنا في البداية أن نتحدّث عن نقاط التشابه بينها، وهي:
1- كلتا اللغتين هي لغات ترميز أو توصيف (markup languages)، وليستا محسوبتين على لغات البرمجة، من حيث عدم احتوائها على متغيرات أو شروط أو حلقات أو غير ذلك مما يعتمد على المنطق البرمجي.
1- كلتا اللغتين هي لغات ترميز أو توصيف (markup languages)، وليستا محسوبتين على لغات البرمجة، من حيث عدم احتوائها على متغيرات أو شروط أو حلقات أو غير ذلك مما يعتمد على المنطق البرمجي.
2- كلتا اللغتين تعتمد بنيتها على استخدام الوسوم (tags)، التي تكون عبارة عن تعليمة تُكتَب بين أقواس زاويّة (angle brackets)، على النمط التالي:
<example>
<example>
وبالرجوع إلى سؤالنا، فمن أهمّ الفروقات بين اللغتين:
أولًا:
- لغة "HTML" تهتم بطريقة عرض البيانات.
- لغة "XML" تهتم بتخزين وتنظيم ونقل البيانات، ولا تبالي بطريقة عرضها.
أو بحسب تعبير w3schools.com -باختصار- :
لغة "HTML" تُعنى بالكيفيّة، في حين أن "XML" تُعنى بالماهيّة.
أولًا:
- لغة "HTML" تهتم بطريقة عرض البيانات.
- لغة "XML" تهتم بتخزين وتنظيم ونقل البيانات، ولا تبالي بطريقة عرضها.
أو بحسب تعبير w3schools.com -باختصار- :
لغة "HTML" تُعنى بالكيفيّة، في حين أن "XML" تُعنى بالماهيّة.
ثانيًا:
- الوسوم الخاصّة بلغة "HTML" معرّفة مسبقًا (predefined tags)، بمعنى أنّها موجودة بالفعل، ولكلّ منها مهمّة معيّنة تم تعريفها مسبقًا من قبل القائمين على اللغة، ولا يمكن استخدامها لغير الغرض الذي وُضِعَت من أجله، وغير مسموح للمطوّر استحداث وسوم جديدة وتعريفها.
- الوسوم الخاصّة بلغة "HTML" معرّفة مسبقًا (predefined tags)، بمعنى أنّها موجودة بالفعل، ولكلّ منها مهمّة معيّنة تم تعريفها مسبقًا من قبل القائمين على اللغة، ولا يمكن استخدامها لغير الغرض الذي وُضِعَت من أجله، وغير مسموح للمطوّر استحداث وسوم جديدة وتعريفها.
- بينما في لغة "XML" لا توجد وسوم معرّفة مسبقًا، وبإمكان المستخدم أن يستحدث الوسوم ويسمّيها ويعرّفها كما يشاء (ولهذا كانت قابلة للتمدّد "Extensible")، مع الأخذ في الاعتبار أهمية أن تكون التسمية ذات دلالة، فهي ممارسة جيّدة ومطلوبة، وإن كانت غير إلزاميّة.
وبما أنّ لغة "XML" لا تحتوي على أيّة وسوم معرّفة مسبقًا كما هو الحال مع "HTML"، وتعتمد على المطوّر في التعريف، فإنّ وسم مثل: <head>، سيكون مفهومًا بالنسبة للمتصفّح في ملف "HTML"، لكن الوسم نفسه ليس له معنى عند المتصفّح لو كان في ملف "XML"..
والسبب أنّ المتصفّح يفترض أنّ كلّ الوسوم الموجودة في ملف "XML" تخضع للتعريف الذي يحدّده كلّ مطوّر بحسب رغبته، لذلك فإنّه لن يحاول تفسيرها حتى لو تشابهت مع وسوم "HTML"، وسيكتفي بعرض محتوى ملف "XML" كما هو..
لذلك، فإنّ لغة "XML" تحتاج في عرضها بطريقة ملائمة للمستخدم إلى أدوات مساندة، مثل لغة "XSLT".. لتتضح الصورة أكثر، راجع المثال عبر الرابط التالي:
w3schools.com
w3schools.com
ثالثًا:
- لغة "XML" أكثر حزمًا في التعامل مع الأخطاء من لغة "HTML".
رابعًا:
- لغة "XML" حساسة لحالة الأحرف (case sensitive)، بخلاف لغة "HTML".
انتهى.
- لغة "XML" أكثر حزمًا في التعامل مع الأخطاء من لغة "HTML".
رابعًا:
- لغة "XML" حساسة لحالة الأحرف (case sensitive)، بخلاف لغة "HTML".
انتهى.
جاري تحميل الاقتراحات...