TOON XML‑converter
Converteer tussen TOON‑ (Token‑Oriented Object Notation) en XML‑formaten. Transformeer token‑efficiënte TOON‑gegevens naar XML‑markup en omgekeerd, met JSON als tussenformaat voor betrouwbare conversie.
Invoer
Uitvoer
Readme
Wat is TOON‑formaat?
TOON (Token‑Oriented Object Notation) is een compact, mens‑leesbaar data‑serialisatieformaat dat specifiek is ontworpen voor Large Language Models (LLMs). In tegenstelling tot JSON, dat voor elk object in een array de veldnamen herhaalt, declareert TOON de veldnamen één keer en streamt daarna de data in rijen — vergelijkbaar met CSV maar met een expliciete structuur. Dit ontwerp vermindert doorgaans het token‑gebruik met 30‑60 % ten opzichte van geformatteerd JSON, vooral voor uniforme arrays van objecten. TOON combineert de inspring‑gebaseerde structuur van YAML voor geneste objecten met de tabel‑efficiëntie van CSV, geoptimaliseerd voor LLM‑contexten waar token‑kosten van belang zijn.
Wat is XML?
XML (eXtensible Markup Language) is een veelgebruikt opmaaktaal voor het coderen van documenten in een formaat dat zowel mens‑leesbaar als machine‑leesbaar is. XML gebruikt tags om elementen en attributen te definiëren, waardoor een hiërarchische boomstructuur ontstaat. Het wordt vaak gebruikt voor configuratie‑bestanden, gegevensuitwisseling tussen systemen, webservices (SOAP), documentformaten (Office Open XML) en RSS‑feeds. Hoewel XML uitgebreid en expliciet is, biedt het sterke validatiemogelijkheden en ondersteunt het complexe geneste structuren.
Toolbeschrijving
Deze converter transformeert data bidirectioneel tussen TOON‑ en XML‑formaten met JSON als tussenformaat. Het conversie‑proces is: TOON ↔ JSON ↔ XML. Deze aanpak garandeert betrouwbare conversie door gebruik te maken van goed‑onderhouden bibliotheken voor elke transformatiefase. Converteer token‑efficiënte TOON‑data naar standaard XML‑markup voor systemen die XML‑invoer vereisen, of transformeer XML‑data naar het compacte TOON‑formaat om token‑gebruik in LLM‑toepassingen te verminderen.
Voorbeelden
TOON‑naar‑XML‑conversie:
Invoer (TOON):
users[2]{id,name,role}:
1,Alice,admin
2,Bob,user
Uitvoer (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‑naar‑TOON‑conversie:
Invoer (XML):
<?xml version="1.0" encoding="UTF-8"?>
<order>
<id>ORD-456</id>
<customer>John Doe</customer>
<total>99.99</total>
</order>
Uitvoer (TOON):
order:
id: ORD-456
customer: John Doe
total: 99.99
Functies
- Bidirectionele conversie tussen TOON en XML met volledige gegevensbehoud
- JSON‑tussenformaat zorgt voor betrouwbare conversie via bewezen bibliotheken
- Ondersteunt complexe structuren inclusief geneste elementen, attributen en arrays
- Automatische formatdetectie en optimale conversiestrategie
- Behoudt gegevenshiërarchie en behoudt ouder‑kindrelaties
- Type‑bewuste conversie waarbij getallen, booleans en strings ongewijzigd blijven
- Realtime conversie met directe resultaten
- Syntax‑highlighting voor zowel TOON‑ als XML‑formaten
Toepassingsgevallen
- Legacy‑systeemintegratie – Converteer moderne TOON‑data naar XML‑formaat voor compatibiliteit met oudere enterprise‑systemen die XML‑invoer vereisen
- API‑datatransformatie – Transformeer XML‑API‑responses naar token‑efficiënte TOON‑formaten voordat ze naar LLM’s worden gestuurd voor verwerking en analyse
- Conversie van configuratie‑bestanden – Converteer XML‑configuratie‑bestanden naar TOON‑formaat om token‑gebruik te verminderen bij het inzetten van LLM’s voor infrastructuurbeheer
- Documentverwerking – Transformeer XML‑documenten (RSS‑feeds, SOAP‑responses, Office‑documenten) naar TOON voor efficiënte LLM‑gebaseerde analyse
- Datamigratie – Converteer data tussen systemen die verschillende formaten gebruiken, waarbij TOON fungeert als token‑efficiënte tussenrepresentatie
Conversieproces
TOON‑naar‑XML:
- Parse TOON‑formaat naar JavaScript‑object (met
@toon-format/toondecode) - Converteer JavaScript‑object naar XML‑markup (met
xml2jsbuilder) - Output geformatteerde XML met juiste inspringing
XML‑naar‑TOON:
- Parse XML‑markup naar JavaScript‑object (met
xml2jsparser) - Converteer JavaScript‑object naar TOON‑formaat (met
@toon-format/toonencode) - Output compacte TOON‑representatie
Opmerkingen over XML‑structuur
Bij conversie van TOON naar XML:
- Sleutels van het root‑object worden XML‑elementen
- Arrays genereren meerdere elementen met dezelfde tagnaam
- Tabulaire TOON‑arrays worden uitgebreid tot individuele XML‑elementen
- Object‑eigenschappen worden kind‑elementen
- Waarden worden omgezet naar tekstinhoud
Bij conversie van XML naar TOON:
- XML‑elementen worden object‑sleutels
- Herhaalde elementen worden arrays
- Attributen worden samengevoegd met element‑inhoud
- Tekstinhoud wordt string‑waarde
- Lege elementen worden lege strings of
null
Formaatoverwegingen
XML‑verbositeit:
- XML is van nature uitgebreid met opening‑ en sluit‑tags
- Elk element vereist zowel een start‑ als een eind‑tag
- Attributen voegen extra tekens toe
- Goed geschikt voor document‑markup en validatie
TOON‑efficiëntie:
- Veel compacter voor gestructureerde data
- Ideaal voor tabel‑data met herhaalde structuren
- Vermindert token‑gebruik met 30‑60 % ten opzichte van JSON
- Geoptimaliseerd voor LLM‑consumptie
Afwegingen:
- XML ondersteunt attributen en gemengde inhoud (tekst + elementen)
- TOON blinkt uit bij uniforme datastructuren
- XML biedt sterkere validatiemogelijkheden
- TOON levert betere token‑efficiëntie voor LLM’s
Conversiekwaliteit
Het tussenliggende JSON‑formaat garandeert:
- Gegevensintegriteit – geen gegevensverlies tijdens conversie
- Type‑behoud – getallen, booleans en
null‑waarden blijven behouden - Structuur‑consistentie – geneste relaties blijven intact
- Betrouwbare transformatie – met beproefde bibliotheken (
xml2jsen@toon-format/toon) - Foutafhandeling – duidelijke foutmeldingen bij ongeldige invoer