FreeToGenerate.com

مجاني بالكامل · بلا تسجيل · كل شيء داخل متصفحك

0

كل شيء يجري داخل متصفحك. لا يُرفع شيء.

متوفر أيضًا بلغات أخرى: English · Español · Português · Français

منسّق XML

الصق XML واحصل على نسخة منسّقة أو مصغّرة فورًا، دون أن يتغيّر حرف واحد من محتواك الفعلي.

ما هو منسّق XML؟

منسّق XML أداة تأخذ مستند XML — سواء كان مضغوطًا في سطر واحد، أو منسوخًا من استجابة واجهة برمجية، أو ملف تصدير — وتعيد ترتيب وسومه بمسافات بادئة متّسقة، سطرًا لكل عنصر، حتى يسهل على العين تتبّع تداخل العناصر بعضها ببعض.

يحتاجها من يقرأ تغذية RSS أو Atom مولّدة آليًا، أو ملف إعدادات مصدَّرًا بلا فواصل، أو استجابة واجهة برمجية أعادها الخادم كمستند واحد متواصل، أو خريطة موقع — فكل هذه غالبًا تصل بلا مسافات بيضاء إطلاقًا، مقروءة للآلة لا للعين.

والمنسّق هنا لا يعيد صياغة المستند، بل يعيد ترتيب مسافاته البيضاء فقط، وهو فارق تشرحه الفقرات التالية.

كيف تستعمل الأداة

  1. الصق مستند XML. في الحقل الأول، سواء كان ملف إعدادات، أو استجابة واجهة برمجية، أو أي مقطع XML آخر.
  2. اختر نمط المسافة البادئة. مسافتان أو أربع مسافات أو مسافة جدولة، أو فعّل التصغير لدمج المستند كله في سطر واحد بدلًا من ذلك.
  3. انسخ الناتج. من اللوحة الثانية بضغطة زر واحدة، فور ظهوره أثناء الكتابة.

المسافات البيضاء بيانات، لا تنسيقًا

تنص المادة 2.10 من مواصفة XML 1.0 الصادرة عن W3C على أن: «An XML processor MUST always pass all characters in a document that are not markup through to the application». بمعنى أن المسافات البيضاء الواقعة بين الوسوم في مستند XML بيانات محرفية — أي محتوى فعلي — لا مجرد تنسيق بصري يملك المنسّق حرية إعادة ترتيبه كيفما شاء، خلافًا لما هو مألوف في HTML.

ولهذا فإن أي أداة تجميل تضيف مسافة بادئة إلى كل عنصر بلا تمييز إنما تُعدّل بيانات المستند في صمت، لا مظهره فقط.

لذلك تغيّر هذه الأداة شيئًا واحدًا بالضبط: النص الواقع بين الوسوم والمكوّن بالكامل من مسافات بيضاء. أما كل حرف آخر — نص، أو سمة، أو تعليق — فيخرج من المنسّق كما دخل إليه تمامًا، بلا أي تبديل.

وهذا مضمون باختبار لا بمجرد نية: تُستخرج كل أجزاء المستند التي ليست مسافات بيضاء خالصة وتُقارَن بايتًا ببايت قبل التنسيق وبعده، على مجموعة أمثلة مكتوبة يدويًا إلى جانب مسح مولَّد شمل 2000 مستند، مع حالة ضبط تثبت أن هذه المقارنة قادرة على كشف فرق لو وُجد. المجموع 335 تحققًا.

ما لا تلمسه الأداة

ترفض الأداة إعادة تنسيق نوعين من العناصر، وتعرض لك عدد كل منهما بدل أن تفعل ذلك بصمت. النوع الأول العناصر الحاملة للسمة xml:space="preserve"، التي تعرّفها المادة 2.10 بأنها سمة «may be attached to an element to signal an intention that in that element, white space should be preserved by applications»، والقيمة preserve تحديدًا «indicates the intent that applications preserve all the white space». وترث كل العناصر الواقعة داخل ذلك العنصر هذا القصد حتى يوقفه xml:space="default" أدنى منه في التسلسل، والاتجاهان محترمان كلاهما في هذه الأداة.

والنوع الثاني أي عنصر يحتوي نصًا خاصًا به، سواء ورد النص وحده — كعنصر عنوان يلفّ عنوان كتاب — أو إلى جانب عناصر أبناء، كفقرة فيها كلمة بخط عريض. وهذه القاعدة أشدّ مما كانت عليه أول الأمر: فقد كانت تقتصر على رفض المحتوى «المختلط» — نص وعناصر أبناء معًا — بينما كانت تعيد تنسيق العنصر الذي ابنه الوحيد نص بلا تردد.

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

أما ما يمرّ سليمًا بحكم البناء دون معالجة خاصة فهو التعليقات — إذ تنبّه المادة 2.5 إلى أن «the string '--' MUST NOT occur within comments» — وأقسام CDATA، حيث تنص المادة 2.7 على أن «Within a CDATA section, only the CDEnd string is recognized as markup»، وتعليمات المعالجة، وإعلان نوع المستند بما فيه ما يحمل مجموعة داخلية بين قوسين معقوفين قد يرد في محتواها هي نفسها علامة أكبر من. وقيم السمات لا تُمسّ أبدًا كذلك، ولا حتى تلك التي تحتوي علامة أكبر من أو نوع الاقتباس الآخر.

لماذا هذه الأداة مجانية؟

كل ما تراه يجري داخل متصفحك أنت: تحليل XML وإعادة تنسيقه وتصغيره كلها عمليات نصية بسيطة تنفّذها آلتك بلا حاجة إلى خادم يستقبل ملفك. ولأن لا شيء يُرفع، لا حساب مطلوبًا ولا تسجيلًا، ولا علامة مائية تُضاف إلى الناتج، ولا تكلفة خادم تستدعي فرض رسوم على الاستخدام.