ما هو ملف XML؟
XML (لغة الترميز القابلة للتوسعة) هي لغة ترميز مصممة لتخزين ونقل البيانات المنظمة، نشر W3C مواصفتها الأولى عام 1998. على عكس HTML، لا تملك XML وسوماً محددة مسبقاً — يعرّف المطورون أسماء عناصرهم الخاصة لتتناسب مع مجال بياناتهم. هذه القابلية للتوسع جعلت XML أساساً لعشرات الصيغ المتخصصة لا تزال مستخدمة حتى اليوم.
XML قابلة للقراءة البشرية والآلية معاً، مما يجعلها مناسبة لملفات الإعدادات وبروتوكولات تبادل البيانات وصيغ المستندات وخدمات الويب. وإن كان JSON قد حلّ محل XML في كثير من واجهات برمجة الويب، تظل XML مهيمنة في أنظمة المؤسسات وصيغ المستندات (DOCX وXLSX وSVG) والصناعات المنظّمة.
كيفية فتح ملفات XML
- أي متصفح ويب — عارض XML مدمج مع شجرة قابلة للطي
- VS Code (ويندوز، ماك، لينكس) — تلوين بناء الجملة وتنسيق وتحقق من XML Schema
- Notepad++ (ويندوز) — عرض شجري XML مع الإضافات
- XMLSpy (ويندوز) — محرر XML احترافي
- IntelliJ IDEA / WebStorm — دعم XML على مستوى IDE
المواصفات التقنية
| الخاصية | القيمة |
|---|---|
| المعيار | توصية W3C (1998، XML 1.0؛ 2004، XML 1.1) |
| الترميز | UTF-8، UTF-16 (مطلوبان)؛ غيرهما يُعلَن في ترويسة |
| التحقق | DTD، XSD (XML Schema)، RELAX NG |
| التحويل | أوراق أنماط XSLT تحوّل XML إلى HTML وPDF وXML آخر |
| الاستعلام | تعبيرات XPath، لغة XQuery |
| نوع MIME | application/xml أو text/xml |
بنية مستند XML
<?xml version="1.0" encoding="UTF-8"?>
<كتالوج>
<منتج معرّف="101">
<اسم>منتج أ</اسم>
<سعر عملة="USD">29.99</سعر>
<متاح>true</متاح>
</منتج>
</كتالوج>
العناصر يجب أن تكون متداخلة وتُغلق بشكل صحيح. XML حساسة لحالة الأحرف (<اسم> و<الاسم> عنصران مختلفان).
الاستخدامات الشائعة
- ملفات الإعدادات:
web.config(ASP.NET)،pom.xml(Maven)،AndroidManifest.xml - تبادل البيانات: خدمات SOAP وبروتوكولات EDI والرسائل المالية
- صيغ المستندات: DOCX وXLSX وPPTX وODT كلها أرشيفات ZIP تحتوي على XML
- رسوم متجهة: SVG (رسوم متجهة قابلة للتحجيم) هو XML
- الخلاصات: RSS وAtom بصيغة XML
- خرائط المواقع: ملفات
sitemap.xmlلفهرسة محركات البحث
XML مقابل JSON
| الميزة | XML | JSON |
|---|---|---|
| التعليقات | ✅ <!-- تعليق --> | ❌ |
| السمات | ✅ على العناصر | ❌ |
| مساحات الأسماء | ✅ (xmlns:) | ❌ |
| التحقق من المخطط | ✅ XSD، DTD | ✅ JSON Schema |
| الإسهاب | أكثر | أقل |
XML أفضل للوثائق والتكوينات المعقدة ذات السمات؛ JSON أبسط لواجهات برمجة الويب.