محوّل TOON إلى XML
تحويل بين صيغ TOON (Token-Oriented Object Notation) و XML. تحويل بيانات TOON الفعّالة في استهلاك الرموز إلى ترميز XML والعكس، باستخدام JSON كصيغة وسيطة لضمان التحويل الموثوق.
الإدخال
الإخراج
ملف القراءة
ما هو تنسيق TOON؟
TOON (Token-Oriented Object Notation) هو تنسيق تسلسل بيانات مضغوط وقابل للقراءة من قبل البشر صُمم خصيصًا لنماذج اللغة الكبيرة (LLMs). على عكس JSON، الذي يكرر أسماء الحقول لكل كائن في مصفوفة، يعلن TOON عن أسماء الحقول مرة واحدة ثم يبث البيانات في صفوف — مشابهًا لـ CSV ولكن به بنية صريحة. عادةً ما يقلل هذا التصميم من استهلاك الرموز بنسبة 30-60٪ مقارنةً بـ JSON المنسق، خاصةً للمصفوفات المتجانسة من الكائنات. يجمع TOON بين بنية YAML القائمة على المسافات المتداخلة للكائنات المتداخلة وكفاءة الجداول في CSV، مُحسّنًا لسياقات LLM حيث تكاليف الرموز مهمة.
ما هو XML؟
XML (eXtensible Markup Language) هو لغة ترميز واسعة الاستخدام لتشفير المستندات بصيغة قابلة للقراءة من قبل البشر والآلات على حد سواء. يستخدم XML وسومًا لتحديد العناصر والسمات، مما يُنشئ بنية شجرية هرمية. يُستعمل عادةً في ملفات التكوين، وتبادل البيانات بين الأنظمة، وخدمات الويب (SOAP)، وتنسيقات المستندات (Office Open XML)، وخلاصات RSS. رغم أن XML يُعد مُفصلاً ومطولًا، فإنه يوفر قدرات تحقق قوية ويدعم هياكل متداخلة معقدة.
وصف الأداة
هذا المحول يُحوِّل البيانات ثنائيًا بين تنسيقي TOON و XML باستخدام JSON كتنسيق وسيط. عملية التحويل هي: TOON ↔ JSON ↔ XML. يضمن هذا النهج تحويلًا موثوقًا من خلال الاستفادة من مكتبات راسخة لكل خطوة تحويل. حوِّل بيانات TOON الفعّالة من حيث الرموز إلى ترميز XML قياسي للأنظمة التي تتطلب إدخال XML، أو حوِّل بيانات XML إلى تنسيق TOON مضغوط لتقليل استهلاك الرموز في تطبيقات LLM.
أمثلة
تحويل TOON إلى XML:
Input (TOON):
users[2]{id,name,role}:
1,Alice,admin
2,Bob,userOutput (XML):
<?xml version="1.0" encoding="UTF-8"?>
<root>
<users>
<id>1</id>
<name>Alice</name>
<role>admin</role>
</users>
<users>
<id>2</id>
<name>Bob</name>
<role>user</role>
</users>
</root>تحويل XML إلى TOON:
Input (XML):
<?xml version="1.0" encoding="UTF-8"?>
<order>
<id>ORD-456</id>
<customer>John Doe</customer>
<total>99.99</total>
</order>Output (TOON):
order:
id: ORD-456
customer: John Doe
total: 99.99الميزات
- تحويل ثنائي الاتجاه بين TOON و XML مع الحفاظ الكامل على البيانات
- تنسيق JSON الوسيط يضمن تحويلًا موثوقًا باستخدام مكتبات مثبتة
- يدعم الهياكل المعقدة بما في ذلك العناصر المتداخلة والسمات والمصفوفات
عملية التحويل
TOON إلى XML:
- تحليل تنسيق TOON إلى كائن JavaScript (باستخدام
@toon-format/toondecode) - تحويل كائن JavaScript إلى ترميز XML (باستخدام
xml2jsbuilder) - إخراج XML منسق مع المسافات المناسبة
XML إلى TOON:
- تحليل ترميز XML إلى كائن JavaScript (باستخدام
xml2jsparser) - تحويل كائن JavaScript إلى تنسيق TOON (باستخدام
@toon-format/toonencode) - إخراج تمثيل TOON مضغوط
ملاحظات بنية XML
عند التحويل من TOON إلى XML:
- تتحول مفاتيح الكائن الجذر إلى عناصر XML
- تُنشئ المصفوفات عناصر متعددة بنفس اسم الوسم
- توسّع مصفوفات TOON الجدولية إلى عناصر XML منفردة
- تتحول خصائص الكائن إلى عناصر فرعية
- تُحول القيم إلى محتوى نصي
عند التحويل من XML إلى TOON:
- تتحول عناصر XML إلى مفاتيح كائن
- تتحول العناصر المتكررة إلى مصفوفات
- تُدمج السمات مع محتوى العنصر
- يصبح المحتوى النصي قيمًا نصية
- تتحول العناصر الفارغة إلى سلاسل نصية فارغة أو null
اعتبارات التنسيق
إسهاب XML:
- XML بطبيعة الحال إسهاب مع وسوم الفتح والإغلاق
- كل عنصر يحتاج إلى وسوم بداية ونهاية
- السمات تضيف أحرفًا إضافية
- مناسب جدًا لتعليم المستندات والتحقق
كفاءة TOON:
- أكثر ضغطًا بشكل ملحوظ للبيانات المهيكلة
- مثالي للبيانات الجدولية ذات الهياكل المتكررة
- يقلل استهلاك الرموز بنسبة 30-60٪ مقارنةً بـ JSON
- محسن للاستهلاك من قبل LLM
المقايضات:
- XML يدعم السمات والمحتوى المختلط (نص + عناصر)
- TOON يتفوق في الهياكل البيانات المتجانسة
- XML يمتلك قدرات تحقق أقوى
- TOON يتمتع بكفاءة رموز أفضل لنماذج اللغة الكبيرة
جودة التحويل
يضمن تنسيق JSON الوسيط:
- تكامل البيانات - لا فقدان للبيانات أثناء التحويل
- حفظ الأنواع - الحفاظ على الأعداد والقيم المنطقية والقيم null
- اتساق البنية - الحفاظ على العلاقات المتداخلة
- تحويل موثوق - باستخدام مكتبات مختبرة (
xml2jsو@toon-format/toon) - معالجة الأخطاء - رسائل خطأ واضحة للمدخلات غير الصالحة