حول هذه الأداة
XML (Extensible Markup Language) هو صيغة نصّية تهيكل البيانات كشجرة من عناصر متداخلة، لكلٍّ منها سمات اختيارية، إضافةً إلى بُنى مساعدة مثل إعلان <?xml?> والتعليقات وأقسام CDATA وتعليمات المعالجة. يعيد المنسّق وضع المسافات البادئة لتلك الشجرة بحيث يصبح التسلسل الهرمي مقروءًا، بينما يجرّد المُصغّر المسافات البيضاء غير المهمّة بين الوسوم لتقليص الحمولة. تستخدم هذه الأداة مُجزّئًا (tokenizer) مكتوبًا يدويًا (لا DOMParser الخاص بالمتصفّح)، لذا تتعامل مع قيم السمات التي تحتوي على محارف '>' وتحافظ على محتوى CDATA بايتًا ببايت دون مساس.
استخدمها لجعل استجابة واجهة برمجة تطبيقات كثيفة في سطر واحد أو ملف تهيئة مقروءًا قبل تنقيحه، أو لطيّ مستند مُسهَب لأجل النقل أو المقارنة (diff)، أو للتأكّد من توازن كل وسم — إذ يُبلَّغ عن الوسوم غير المتطابقة وغير المغلقة برقم السطر الدقيق لتقفز مباشرةً إلى المشكلة. وهي مفيدة لأغلفة SOAP وملفات RSS وخرائط المواقع وتهيئات Android وMaven وSVG وأي حمولة XML تفحصها بعينك أثناء التطوير.
هذا منسّق لحُسن التكوين، لا مُتحقّق — فهو يفحص توازن الوسوم ويُبلّغ بسطر أي عدم تطابق، لكنه لا يتحقّق مقابل مخطّط DTD أو XSD.
الأسئلة الشائعة
ما الفرق بين تنسيق XML وتصغيره؟
يعيد التنسيق (التجميل) وضع المسافات البادئة للمستند بحيث يجلس كل عنصر متداخل في سطره الخاص، مما يجعل البنية سهلة القراءة. أما التصغير فيزيل المسافات البيضاء غير المهمّة بين الوسوم لإنتاج أصغر مستند مكافئ للتخزين أو النقل.
هل يغيّر تنسيق XML البيانات أو يكسر أقسام CDATA؟
لا. يُعدَّل فقط المسافات البيضاء غير المهمّة بين العناصر. وتُحفظ أقسام CDATA والتعليقات وإعلان XML حرفيًا، بما في ذلك أي محارف '<' أو '>' داخل CDATA، فيبقى معنى المستند دون تغيير.
هل يُرفَع XML الخاص بي إلى خادم؟
لا. كل عمليات التنسيق والتصغير تجري كليًا في متصفّحك باستخدام JavaScript من جانب العميل. ولا يغادر XML الخاص بك جهازك ولا يُرسَل إلى أي خادم.