كيفية مقارنة ملفي XML
- الصق XML الأصلي في خانة «XML الأصلي» والنسخة المعدَّلة في خانة «XML المعدَّل»، أو أفلت الملفين فيهما. تتحدّث النتيجة أثناء الكتابة.
- اختر ما تريد تجاهله: المسافات البيضاء في النص، أو التعليقات، أو ترتيب السمات. ويُبقي خيار إخفاء الأسطر غير المتغيرة المستندات الطويلة مختصرة.
- اطّلع على ملخص الأسطر المضافة والمحذوفة والمعدَّلة، ثم تصفّح العرض المتجاور. ويعكس زر تبديل الجانبين اتجاه المقارنة.
ما الذي تتجاهله مقارنة XML؟
| الاختلاف | متى يُتجاهل |
|---|---|
| المسافات البادئة وفواصل الأسطر بين العناصر | دائمًا |
| علامات الاقتباس المفردة أو المزدوجة حول قيم السمات | دائمًا |
<a/> أو <a></a> | دائمًا |
| المسافات وفواصل الأسطر الزائدة داخل النص | مع خيار تجاهل المسافات البيضاء في النص (مفعّل افتراضيًا) |
| التعليقات | مع خيار تجاهل التعليقات |
| ترتيب السمات | مع خيار تجاهل ترتيب السمات (مفعّل افتراضيًا) |
| ترتيب العناصر | أبدًا – يظهر العنصر المنقول كعنصر محذوف وآخر مضاف |
بادئات مساحات الأسماء، و& أو &، وCDATA أو النص المُهرَّب | أبدًا – تُقارن كما هي مكتوبة |
كيف تعمل المقارنة؟
يُحلَّل المستندان، ثم يُوحَّد شكلهما وفق الخيارات المحددة، ويُعاد كتابتهما بالمسافة البادئة نفسها المكوّنة من مسافتين. بعد ذلك تُقارن الأسطر الناتجة باستخدام خوارزمية Myers diff، وهي الطريقة التي يستخدمها git diff افتراضيًا. تُقرن الأسطر المستبدلة معًا كأسطر معدَّلة، ويمكن طيّ السلاسل الطويلة من الأسطر غير المتغيرة. ولأن النتيجة تشير إلى هذه النسخ المنسَّقة، قد تختلف مواضع الأسطر عن ملفاتك الأصلية.
الأسئلة الشائعة
هل ترتيب العناصر مهم؟
نعم. العناصر في XML مرتبة، لذا يظهر العنصر المنقول محذوفًا في موضع ومضافًا في موضع آخر. ولا يمكن تجاهل سوى ترتيب السمات، لأنه لا يحمل أي معنى في XML.
لماذا يظهر الملفان مختلفين رغم أنهما يبدوان متطابقين؟
تحقق من الخيارات: تُحتسب التعليقات وترتيب السمات والمسافات البيضاء داخل النص اختلافاتٍ عندما يكون الخيار المقابل لها معطّلًا. كما تُقارن بادئات مساحات الأسماء وطرق كتابة الكيانات مثل & و& كما هي مكتوبة تمامًا.
هل يمكنني مقارنة XML غير سليم البنية؟
لا. يجب تحليل المستندين أولًا. وإذا احتوى أحدهما على خطأ، فسيظهر أسفل الجانب الخاص به مع رقم السطر والعمود – صحّحه هناك أو في أداة التحقق من XML.
هل تُرفع بياناتي؟
لا. تتم المقارنة داخل متصفحك، ولا يُرسل أي شيء إلى خادم.