آخر تحديث: 25 مارس، 2025

ما هو XML؟
XML (لغة التوصيف القابلة للتمديد) هي لغة تنسيق وملف تُستخدم لتخزين، نقل، وإعادة بناء البيانات. توفر نهجًا منظمًا لتشفير المعلومات، مما يجعلها قابلة للقراءة من قبل الإنسان والآلة على حد سواء.
الخصائص الرئيسية لـ XML
1. تعريف المعايير المفتوحة
- تم وضعها من قبل رابطة الشبكة العالمية (W3C) في عام 1998 تحت مواصفات XML 1.0.
- تتبع قواعد صارمة لضمان أن البيانات منظمة وسهلة التفسير.
2. أهداف التصميم
- صُممت XML مع البساطة، العمومية، وسهولة الاستخدام عبر منصات مختلفة.
- تستخدم تنسيقًا نصيًا، مما يجعلها سهلة القراءة والتحرير.
3. دعم الـ Unicode
- تدعم XML الـ Unicode، مما يسمح بتخزين ومعالجة النصوص بلغات متعددة.
4. المرونة
- صُممت في الأصل للوثائق، والآن تُستخدم XML على نطاق واسع لتمثيل البيانات عبر مجالات متنوعة، بما في ذلك الخدمات الويب، وواجهات برمجة التطبيقات (API)، وملفات التكوين.
5. مخططات وواجهات برمجة التطبيقات
- يمكن تحديد بنى XML باستخدام تعريف نوع المستند (DTD)، مخطط XML (XSD)، أو Relax NG.
- يمكن معالجة XML باستخدام واجهات برمجة التطبيقات المختلفة مثل نموذج كائن المستند (DOM) وواجهة برمجة بسيطة لـ XML (SAX).
6. الاستخدامات الشائعة لـ XML
- تبادل البيانات بين الأنظمة المختلفة (مثل الخدمات الويب وواجهات برمجة التطبيقات).
- ملفات التكوين في التطبيقات البرمجية.
- تخزين المعلومات الهيكلية (مثل خلاصات RSS، رسومات SVG، تنسيقات المستندات مثل DOCX).
- تطوير الويب (مثل XHTML، SOAP، التطبيقات المستندة إلى AJAX).
نظرة عامة على XML
1. الغرض الرئيسي لـ XML: التسلسل
التسلسل في XML يعني:
- تخزين البيانات في تنسيق مُنظم.
- نقل البيانات بين أنظمة مختلفة.
- إعادة بناء البيانات في شكل قابل للاستخدام.
عندما يحتاج نظامان إلى تبادل المعلومات، توفر XML تنسيق ملف موحد للتشغيل المتداخل. تعمل كـ “لغة متوسطة” لتبادل البيانات المُنظمة.
2. XML كلغة توصيف
XML هي لغة توصيف، مما يعني أنها:
- تصنف البيانات بعلامات لهيكل واضح.
- تنظم المعلومات بشكل هرمي.
- تصنف البيانات مع البيانات الوصفية.
مثال:
<book>
<title>XML Basics</title>
<author>John Doe</author>
</book>
هنا، <book>
، <title>، و<author>
هي علامات تحدد عناصر البيانات.
3. مخطط XML (XSD) والتحقق
يحدد مخطط XML (XSD) القواعد الهيكلية لمستندات XML.
يمكن أن تكون مستندات XML:
- مُشكلة بشكل جيد → تتبع قواعد الصياغة الأساسية (مع تداخل صحيح وإغلاق صحيح للعلامات).
- صالحة → تتوافق مع قواعد المخطط (العناصر الإلزامية، وأنواع البيانات الصحيحة).
مثال على قاعدة XSD:
<xs:element name="title" type="xs:string"/>
هذا يضمن أن <title>
يجب أن تحتوي على قيمة نصية.
4. أنواع الميديا XML (RFC 7303)
تعرف IETF RFC 7303 أنواع ميديا XML لنقل البيانات:
- application/xml → بيانات XML القياسية.
- application/xml-external-parsed-entity → الكيانات XML المُفحوصة.
- application/xml-dtd → مستندات DTD XML.
لبناء تنسيقات مستندة إلى XML، يتم استخدام اللحق +xml (مثل image/svg+xml
للصور SVG).
5. XML في التطبيقات المتصلة بالشبكة (RFC 3470 / IETF BCP 70)
يحدد IETF BCP 70 (RFC 3470) أفضل الممارسات لاستخدام XML في التطبيقات المستندة إلى الشبكة، مما يضمن سيرورة التشغيل المتداخل للبيانات عبر الأنظمة.
1. تطبيقات XML
XML هي لغة توصيف مرنة مصممة من أجل تبادل البيانات عبر الإنترنت. لقد أثرت صياغتها في العديد من تنسيقات المستندات وبروتوكولات الاتصال، مما جعلها تقنية أساسية في العديد من الصناعات.
التنسيقات الشائعة المستندة إلى XML:
- الخلاصات الويب: RSS، Atom
- مستندات المكتب: Office Open XML، OpenDocument
- الرسومات والنماذج ثلاثية الأبعاد: SVG، COLLADA
- تقنيات الويب: XHTML
- بروتوكولات تبادل البيانات: SOAP، XMPP
- AJAX: تستخدم لأجل تبادل البيانات الغير متزامن
المعايير الصناعية التي تستخدم XML:
- الرعاية الصحية: HL7 (المستوى الصحي السابع)
- صناعة السفر: OpenTravel Alliance
- التمويل: FpML (لغة توصيف المنتجات المالية)
- العقارات والرهون العقارية: MISMO
- تبادل البيانات الحكومية: National Information Exchange Model
XML في العلوم:
في الأرصاد الجوية، يُستخدم XML لتمثيل البيانات الجوية التشغيلة وفقًا لمعايير IWXXM. وبالمثل، يُعتبر داروين للهندسة المعلوماتية (DITA) معيار XML مستخدماً على نطاق واسع في النشر.
2. المصطلحات الرئيسية في XML
فهم المصطلحات الرئيسية في XML يعد أمرًا حاسمًا للعمل مع مستندات XML بشكل فعال.
الحرف
مستند XML هو تسلسل من حروف Unicode. يتيح XML 1.1 جميع حروف Unicode تقريبًا، باستثناء الحرف Null (U+0000
)، الذي يُعد محرمًا بشكل صارم.
المعالج والتطبيق
- يقوم معالج XML (أو المحلل) بقراءة وتحليل تنسيق XML.
- يستقبل التطبيق البيانات المنظمة من المعالج ويعمل عليها.
التوصيف والمحتوى
يقسم XML الحروف إلى توصيف ومحتوى:
- التوصيف: يشمل العناصر، الخصائص، والكيانات (مثل
<tag>
و&
). - المحتوى: البيانات الفعلية داخل العناصر.
- أقسام CDATA: تسمح بنص ينبغي عدم فحصه كتوصيف، محاط داخل
<![CDATA[ ... ]]>
.
العلامات والعناصر
- العلامات: تراكيب توصيف مغلقة في
< >
.<section>
(علامة البدء)</section>
(علامة النهاية)<line-break />
(علامة العنصر الفارغ)
- العناصر: مكونات منطقية تُعرف بعلامات.
- مثال:
<greeting>Hello, world!</greeting>
- مثال:
الخصائص
توفر الخصائص بيانات وصفية للعناصر باستخدام أزواج الاسم والقيمة. مثال:
<img src="image.jpg" alt="Description" />
src="image.jpg"
وalt="Description"
هما خصائص للعنصر<img>
.
3. الحروف والهروب في XML
حروف Unicode صالحة في XML
تسمح مستندات XML بنوعية معينة فقط من حروف Unicode لضمان التحليل المناسب.
الحروف المسموح بها في XML 1.0:
- الحروف التحكمية:
U+0009
(المسافة الأفقية)U+000A
(تغذية الخط)U+000D
(إرجاع العربة)
- حروف نصية:
U+0020–U+D7FF
U+E000–U+FFFD
U+10000–U+10FFFF
تعزيزات XML 1.1:
- تتيح جميع حروف التحكم U+0001–U+001F لكنها تتطلب الهروب.
- الحرف Null (الحرف الفارغ) لا يزال محرمًا.
4. الترميز في XML
الترميزات الشائعة في XML:
تدعم XML الترميزات المستندة إلى Unicode، بما في ذلك:
- UTF-8 (المُوصى به كافتراضي)
- UTF-16 (يجب دعمه من قبل جميع محللي XML)
- ASCII، ISO-8859-X (ترميزات قديمة)
إعلان الترميز في XML:
يمكن لرأس XML تحديد الترميز:
<?xml version="1.0" encoding="UTF-8"?>
- إذا لم يتم تحديد أي ترميز، يُفترض أن يكون UTF-8.
- يتطلب UTF-16 علامة ترتيب البايت (BOM) للكشف السليم.
5. الهروب من الحروف الخاصة في XML
نظرًا لأن صياغة XML تحجز حروفًا معينة، يجب الهروب منها لتجنب التعارضات.
كيانات XML المحددة مسبقًا:
الحرف | الشكل الهارب | مثال |
---|---|---|
< (أقل من) | < | I <3 XML → I <3 XML |
> (أكبر من) | > | x > y → x > y |
& (آمبرسند) | & | AT&T → AT&T |
' (علامة الاقتباس الفردية) | ' | "O'Reilly" → O’Reilly |
" (علامة الاقتباس المزدوجة) | " | She said "hello" → She said “hello” |
المراجع الرقمية للحروف:
للحروف الخاصة التي لا يمكن كتابتها، استخدم المراجع الرقمية:
- العدد العشري:
中 <!-- الحرف الصيني "中" -->
- العدد الست عشري:
中 <!-- الحرف الصيني "中" -->
- مثال:يعرض كالتالي: I <3 Jörg
<message>I <3 Jörg</message>
معالجة البيانات الثنائية:
XML لا تدعم بيانات ثنائية خام. بدلاً من ذلك، استخدم ترميز Base64.
6. التعليقات في XML
صياغة تعليق XML:
<!-- هذه تعليق صالح في XML -->
قواعد تعليقات XML:
- لا يمكن أن تظهر قبل تصريح XML.
- لا يمكن أن تحتوي على
--
(خط مائل مزدوج) داخل التعليق. - يتم تجاهل الكيانات المرجعية في التعليقات.
مثال:
<!-- هذا تعليق يحتوي على رمز < و & -->
الخلاصة
XML هي تقنية أساسية لتبادل البيانات المنظمة، وتقود الخلاصات الويب، مستندات المكتب، البيانات العلمية، والمعايير الصناعية. إن فهم المصطلحات الرئيسية لـ XML، وقواعد الترميز، وآليات الهروب يضمن مستندات XML مُشكلة بشكل جيد تعمل بشكل صحيح عبر أنظمة مختلفة.
باتباع أفضل الممارسات في ترميز الحروف وآليات الهروب، يمكن للمطورين تجنب أخطاء التحليل وضمان التوافق في التطبيقات المستندة إلى XML.