تخطَّ إلى المحتوى الرئيسي
Tooletto

مُنسِّق XML

نسِّق XML بتداخل ومسافة بادئة مناسبين، أو صغِّره. تُحفَظ أقسام CDATA والتعليقات والسمات التي تحتوي أقواسًا زاويّة بالضبط، وتُبلَّغ الوسوم غير المتوازنة.

  • الملفات لا تغادر جهازك أبدًا
  • مجاني، بدون تسجيل
  • بدون علامات مائية
  • يعمل دون اتصال بعد التحميل
Loading tool…

كيفية استخدام مُنسِّق XML

  1. 1

    ألصق XML الخاص بك

    خلاصة مُصغَّرة، ملف تكوين، استجابة SOAP — أيًا كان.

  2. 2

    نسِّق أو صغِّر

    ضع مسافة بادئة للقراءة، أو اطوِ للنقل.

  3. 3

    تحقق من الأخطاء

    تُسمَّى الوسوم غير المتوازنة وغير المُغلَقة صراحة.

أين تنكسر فعليًا أدوات تنسيق XML القائمة على التعبيرات النمطية

مُنسِّق مبني على تعبيرات نمطية — يُدرِج سطرًا جديدًا قبل كل `<` ويضع مسافة بادئة وفقًا لعدّ مستمر للوسوم المفتوحة — يعمل بشكل مقبول في XML بسيط مكتوب يدويًا ويفشل في مستندات حقيقية لأسباب يسهل تفويتها حتى تُسبِّب ملفًا تالفًا. قسم CDATA، مكتوب كـ`<![CDATA[...]]>`، موجود تحديدًا لاحتواء نص عشوائي قد يحتوي هو نفسه أحرفًا تبدو كوسوم، وتعبير نمطي يبحث عن `<` ليس له طريقة لمعرفة أنه يجب تجاهل كل شيء بين تلك العلامات بدلًا من معاملة المحتوى كبنية. تحمل التعليقات نفس الخطر، وقيم السمات أسوأ: سمة مثل `note="a > b"` تحتوي حرف `>` حرفيًا يمكن أن يُخلطه ماسح ساذج بنهاية الوسم، مُقتطعًا إياه بصمت في المكان الخاطئ.

تنسيق XML بشكل صحيح يعني أن الماسح يجب أن يتعرف على هذه المناطق الخاصة — كتل CDATA، التعليقات، تعليمات المعالجة، تصريحات DOCTYPE، وقيم السمات بعلامات اقتباس — قبل البحث عن أي شيء يشبه بنية وسم، حتى يُنقَل محتواها بايتًا بايت بدلًا من إعادة تفسيره كترميز.

التحقق هنا يعني حسن التكوين، لا التوافق مع مخطط

تتحقق هذه الأداة من أن كل وسم مُغلَق بشكل صحيح ومُتداخل بشكل صحيح — القواعد البنيوية التي تجعل مستندًا "حسن التكوين" كـXML — وتُبلِّغ عن الوسم المحدد غير المتوازن أو غير المُغلَق عندما يفشل ذلك التحقق. ما لا تفعله هو التحقق من المستند مقابل DTD أو XML Schema (XSD)، الذي سيتحقق أيضًا مما إذا كانت العناصر والسمات وقيمها المحددة تتوافق مع قواعد نوع مستند معين — ما إذا كانت سمة مطلوبة موجودة، ما إذا كان عنصر يظهر في السياق الصحيح، ما إذا كانت قيمة تطابق نوع بيانات متوقَّع. هذا فحص مختلف حقًا وأكثر تفصيلًا يتطلب مستند المخطط نفسه كإدخال إضافي، لا شيء يمكن لمُنسِّق عام الغرض استنتاجه من XML وحده.

لماذا يحتاج HTML أداة مختلفة تمامًا

XHTML الصارم هو XML صالح ويُنسَّق بشكل صحيح هنا، لكن HTML العادي الحقيقي ليس كذلك، لأسباب مُدمَجة في مواصفات HTML نفسها: عناصر فارغة مثل `<br>` و`<img>` لا تُغلَق أبدًا وليس لها أي وسم إغلاق على الإطلاق، عدة وسوم لها وسوم إغلاق اختيارية تستنتجها المتصفحات تلقائيًا، وتتحمل المتصفحات تداخلًا مشوَّهًا يرفضه تحليل XML الصارم مباشرة. مُنسِّق XML صارم مُطبَّق على HTML نموذجي سيُبلِّغ عن أخطاء في كل صفحة طبيعية وحسنة التكوين تمامًا، وهذا بالضبط سبب امتلاك HTML مُنسِّقًا منفصلًا مبنيًا حول مُحلِّل HTML حقيقي يفهم هذه القواعد الخاصة بـHTML بدلًا من معاملة المستند كـXML صارم.

أين لا يزال XML مهمًا رغم هيمنة JSON

حلَّ JSON محل XML كخيار افتراضي لواجهات API الويب الجديدة، لكن جزءًا كبيرًا من البنية التحتية بُني قبل ذلك التحول ولا يزال يعمل عليه: خدمات ويب SOAP، خلاصات RSS وAtom، صور SVG (وهي نفسها XML)، صيغ مستندات Office داخليًا، وطابور طويل من الأنظمة المؤسسية وصيغ التكوين السابقة لشعبية JSON. أي شخص يتكامل مع أحد هذه الأنظمة الأقدم أو الأكثر رسمية لا يزال يحتاج قراءة وتصحيح وإنتاج XML حسن التكوين، وهذا بالضبط الجمهور الذي لا يزال يخدمه مُنسِّق XML مخصص حتى مع تراجع XML في تصميم واجهات API الجديدة.

الأسئلة الشائعة

هل يتحقق من صحة XML الخاص بي؟

يتحقق من أن الوسوم متوازنة ومُتداخلة بشكل صحيح، ويُسمِّي الوسم المُشكِل عندما لا تكون كذلك. لا يتحقق مقابل مخطط DTD أو XSD — ذلك يتطلب المخطط نفسه وهو عمل مختلف.

هل تُحفَظ أقسام CDATA والتعليقات؟

بالضبط كما كُتبت. يتعرف المُحلِّل على `<![CDATA[…]]>` والتعليقات وتعليمات المعالجة وتصريحات DOCTYPE قبل البحث عن وسوم، لذا الترميز داخلها لا يُخلَط أبدًا مع البنية — وهذا بالضبط حيث تُفسد أدوات التنسيق القائمة على التعبيرات النمطية الملفات.

ماذا عن السمات التي تحتوي < أو >؟

تُعامَل بشكل صحيح. يتتبع المُحلِّل علامات الاقتباس أثناء قراءة وسم، لذا سمة مثل `note="a > b"` لا تُنهي الوسم قبل الأوان. هذا خلل شائع في أدوات التنسيق البسيطة.

هل يمكنني استخدامه لـHTML؟

لـXHTML الصارم، نعم. HTML الحقيقي به عناصر فارغة مثل `<br>` و`<img>` لا تُغلَق أبدًا، بالإضافة لوسوم إغلاق اختيارية، لذا مُنسِّق HTML هو الأداة الصحيحة لذلك — يستخدم مُحلِّل HTML حقيقيًا.

مهام شائعة لأداة مُنسِّق XML