ما هو XML؟
XML هي لغة ترميز متعددة الاستخدامات لتنسيق ونقل البيانات. تتميز بعلامات قابلة للتخصيص، وهيكل هرمي، وتعريفات مخططات. على عكس HTML، يركز XML على تمثيل البيانات بدلاً من العرض. يُستخدم على نطاق واسع في التطبيقات المختلفة، بما في ذلك تكوينات SSO مثل تنفيذات Logto لـ SAML.
لغة الترميز القابلة للتوسع (XML) تستخدم علامات لتوضيح كيفية هيكلة وتخزين ونقل النصوص في ملفات البيانات. تم تصميم XML ليكون قابلاً للقراءة من قبل كل من البشر والآلات، مما يجعله أداة ترميز قوية وقابلة للتخصيص بشكل كبير.
تم إنشاء XML من قبل اتحاد شبكة الويب العالمية (W3C) في عام 1996. كان هدف W3C إنشاء لغة تساعد في تعريف أنواع المستندات وتوفير القدرة على إنشاء علامات مخصصة. يسمح نوع لغة الترميز الناتجة بتعريف كيفية تمييز البيانات في الصفحة قبل مشاركتها كملف XML مع نظام آخر. طالما أن نظامين يستخدمان نفس لغة XML (بعلامات يمكنهم تفسيرها كلاهما)، يمكن أن "يفهم" النظامين تنسيق ملف XML. عندما يتم نشر XML بشكل صحيح، يضمن ذلك أن أي ملف بيانات يمكن تخزينه ونقله ومن ثم استخدامه، مع إعادة إنتاج البيانات نفسها والهياكل في كل مرة يتم الوصول إليها.
مثال على محتوى XML
يتكون بيانات XML من نصوص في ملف رقمي. على غرار HTML، تقوم بإنشاء "الشيفرة" اللازمة لملفات XML بإدراج العلامات لتوضيح كيفية تفسير النص. على سبيل المثال:
يوضح هذا المثال ثلاثة مستخدمين. يتضمن محتوى XML الاسم واسم المستخدم وا لبريد الإلكتروني ومستوى المستخدم.
ينشئ هذا مستند XML يمكن مشاركته وقراءته بين موفري الهوية وموفري الموارد.
من المهم، أن المثال أعلاه يوضح الطبيعة الهرمية لمستندات XML. على سبيل المثال:
- المحتوى في السطر الأول
<?xml version="1.0" encoding="UTF-8"?>
هو إعلان XML، الذي يحدد الإصدار والترميز - في مستند XML، يجب أن يكون هناك عنصر جذر، الذي في هذا المثال هو
<users>
- جميع العناصر الأخرى الموجودة داخل عنصر الجذر تُسمى "عناصر الطفل"
- في المثال أعلاه، هناك 3 عناصر طفل، معلمة بعلامة
<user>
- داخل عناصر الطفل
<user>
، توجد عدة عناصر طفل أخرى، مثل<name>
و<username>
و<email>
و<level>
- على علامة
<user>
, هناك أيضًاid
, والذي يُسمى سمة XML. لا يمكن أن يحتوي العنصر على سمات متعددة بنفس الاسم
توضح العلامات ما هو كل نوع من البيانات، مع النص العادي الذي يعمل كالبيانات نفسها. لاحظ أيضًا كيف أن المحتوى منسق. هذا ليس لمساعدة الأنظمة في معالجة ملف XML، بل لمساعدة البشر في تصفح ملف XML بشكل أكثر سهولة وترتيبه بشكل هرمي لاكتشاف وحل أي أخطاء أو نواقص.