Qu'est-ce que le format TOON ?

TOON (Token-Oriented Object Notation) est un format de sérialisation de données compact et lisible, conçu spécifiquement pour les grands modèles de langage (LLM). Contrairement au JSON, qui répète les noms de champs pour chaque objet dans un tableau, TOON déclare les noms de champs une fois puis transmet les données en lignes—similaire au CSV mais avec une structure explicite. Cette conception réduit généralement l'utilisation de tokens de 30 à 60% par rapport au JSON formaté, en particulier pour les tableaux uniformes d'objets. TOON combine la structure basée sur l'indentation de YAML pour les objets imbriqués avec l'efficacité tabulaire du CSV, optimisée pour les contextes LLM où les coûts de tokens importent.

Qu'est-ce que XML ?

XML (eXtensible Markup Language) est un langage de balisage largement utilisé pour encoder des documents dans un format à la fois lisible par l'homme et par la machine. XML utilise des balises pour définir des éléments et des attributs, créant une structure arborescente hiérarchique. Il est couramment utilisé pour les fichiers de configuration, l'échange de données entre systèmes, les services web (SOAP), les formats de documents (Office Open XML) et les flux RSS. Bien que XML soit verbeux et explicite, il fournit de solides capacités de validation et prend en charge des structures imbriquées complexes.

Description de l'outil

Ce convertisseur transforme les données de manière bidirectionnelle entre les formats TOON et XML en utilisant JSON comme format intermédiaire. Le processus de conversion est : TOON ↔ JSON ↔ XML. Cette approche garantit une conversion fiable en exploitant des bibliothèques bien établies pour chaque étape de transformation. Convertissez des données TOON efficaces en tokens vers le balisage XML standard pour les systèmes nécessitant une entrée XML, ou transformez des données XML en format TOON compact pour réduire l'utilisation de tokens dans les applications LLM.

Exemples

Conversion TOON vers XML :

Entrée (TOON) :

users[2]{id,name,role}:
  1,Alice,admin
  2,Bob,user

Sortie (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>

Conversion XML vers TOON :

Entrée (XML) :

<?xml version="1.0" encoding="UTF-8"?>
<order>
  <id>ORD-456</id>
  <customer>John Doe</customer>
  <total>99.99</total>
</order>

Sortie (TOON) :

order:
  id: ORD-456
  customer: John Doe
  total: 99.99

Fonctionnalités

  • Conversion bidirectionnelle entre TOON et XML avec préservation complète des données
  • Format intermédiaire JSON garantit une conversion fiable utilisant des bibliothèques éprouvées
  • Gère les structures complexes incluant éléments imbriqués, attributs et tableaux
  • Détection automatique du format et stratégie de conversion optimale
  • Préserve la hiérarchie des données maintenant les relations parent-enfant
  • Conversion sensible aux types conservant les nombres, booléens et chaînes intacts
  • Conversion en temps réel avec résultats instantanés
  • Coloration syntaxique pour les formats TOON et XML

Cas d'utilisation

  1. Intégration de systèmes legacy - Convertir les données TOON modernes au format XML pour la compatibilité avec les anciens systèmes d'entreprise nécessitant une entrée XML
  2. Transformation de données API - Transformer les réponses API XML en format TOON efficace en tokens avant envoi aux LLM pour traitement et analyse
  3. Conversion de fichiers de configuration - Convertir les fichiers de configuration XML au format TOON pour réduire l'utilisation de tokens lors de l'utilisation de LLM pour la gestion d'infrastructure
  4. Traitement de documents - Transformer les documents XML (flux RSS, réponses SOAP, documents Office) en TOON pour une analyse efficace basée sur LLM
  5. Migration de données - Convertir les données entre systèmes utilisant différents formats, avec TOON servant de représentation intermédiaire efficace en tokens

Processus de conversion

TOON vers XML :

  1. Analyse du format TOON en objet JavaScript (utilisant @toon-format/toon decode)
  2. Conversion de l'objet JavaScript en balisage XML (utilisant xml2js builder)
  3. Sortie XML formaté avec indentation appropriée

XML vers TOON :

  1. Analyse du balisage XML en objet JavaScript (utilisant xml2js parser)
  2. Conversion de l'objet JavaScript en format TOON (utilisant @toon-format/toon encode)
  3. Sortie de représentation TOON compacte

Notes sur la structure XML

Lors de la conversion de TOON vers XML :

  • Les clés de l'objet racine deviennent des éléments XML
  • Les tableaux créent plusieurs éléments avec le même nom de balise
  • Les tableaux TOON tabulaires s'étendent en éléments XML individuels
  • Les propriétés d'objets deviennent des éléments enfants
  • Les valeurs sont converties en contenu textuel

Lors de la conversion de XML vers TOON :

  • Les éléments XML deviennent des clés d'objet
  • Les éléments répétés deviennent des tableaux
  • Les attributs sont fusionnés avec le contenu de l'élément
  • Le contenu textuel devient des valeurs de chaîne
  • Les éléments vides deviennent des chaînes vides ou null

Considérations de format

Verbosité XML :

  • XML est intrinsèquement verbeux avec des balises d'ouverture/fermeture
  • Chaque élément nécessite à la fois une balise de début et de fin
  • Les attributs ajoutent des caractères supplémentaires
  • Bien adapté pour le balisage de documents et la validation

Efficacité TOON :

  • Significativement plus compact pour les données structurées
  • Idéal pour les données tabulaires avec structures répétées
  • Réduit l'utilisation de tokens de 30-60% vs JSON
  • Optimisé pour la consommation LLM

Compromis :

  • XML supporte les attributs et le contenu mixte (texte + éléments)
  • TOON excelle dans les structures de données uniformes
  • XML a des capacités de validation plus fortes
  • TOON a une meilleure efficacité en tokens pour les LLM

Qualité de conversion

Le format intermédiaire JSON garantit :

  • Intégrité des données - pas de perte de données pendant la conversion
  • Préservation des types - nombres, booléens et valeurs null maintenues
  • Cohérence de structure - relations imbriquées préservées
  • Transformation fiable - utilisant des bibliothèques éprouvées (xml2js et @toon-format/toon)
  • Gestion des erreurs - messages d'erreur clairs pour une entrée invalide