Wat is het verschil tussen YAML en XML?
Het verschil tussen YAML en XML is leesbaarheid tegenover controleerbaarheid.
Beide bewaren gegevens in gewone tekst.
Ze zijn alleen voor een heel ander doel bedacht.

Wat YAML prettiger maakt
Geen labels om elke waarde heen. Een bestand van dertig regels blijft in één oogopslag te overzien.
Meer daarover lees je bij wat YAML is.
Wat XML veiliger maakt
Je kunt vastleggen welke velden verplicht zijn. Een ongeldig bestand wordt geweigerd voordat het schade aanricht.
Meer daarover lees je bij xml.
Waar ze elkaar niet raken
YAML gebruik je voor instellingen die iemand met de hand bijhoudt. XML voor verkeer tussen systemen.
Meer daarover lees je bij api.
Zo herken je ze
- Puntige haken rondom alles? Dat is XML.
- Dubbele punten en inspringing? Dat is YAML.
- Streepjes voor lijstitems? Dat is YAML.
- Een kopregel met een vraagteken? Dat is XML.
Regel twee volstaat vrijwel altijd, want inspringing is het handelsmerk van dit formaat.
De grootste valkuil
YAML kent geen controle vooraf. Een spatiefout ontdek je pas als het draaien misgaat.
Meer daarover lees je bij waarom inspringen telt.
En JSON dan?
Dat zit ertussenin: korter dan XML en strenger dan YAML. Elk formaat heeft zijn eigen plek.
Meer daarover lees je bij webhook.
Wat ik in de praktijk zie misgaan
Voor een ondernemer komt dit meestal maar op één plek langs: een instellingenbestand van een koppeling of een server.
En daar gaat het bijna altijd mis op hetzelfde: inspringen. In het ene formaat bepaalt de hoeveelheid spaties de betekenis, dus één spatie te veel of een tab in plaats van spaties, en het bestand betekent iets anders of doet het helemaal niet.
Dat levert foutmeldingen op die nergens op slaan, omdat ze verwijzen naar een regel verderop waar niets aan de hand is.
Wat ik daarom aanraad is nooit rechtstreeks in zo’n bestand te typen, maar altijd een kopie te bewaren van de versie die werkte, en de nieuwe versie eerst door een controleprogramma te halen. Dat zijn gratis hulpmiddelen die in twee seconden zeggen of het klopt.
En bij twijfel: één wijziging tegelijk. Dan weet je bij een fout meteen waar je moet kijken.
Meer daarover lees je bij yaml.