JSON opmaken
JSON opmaken, controleren en samenvouwen.
Ontwikkelaar
XML opmaken, controleren en comprimeren.
Dit onderscheid veroorzaakt de meeste verwarring rond XML.
Een document is welgevormd als het de syntactische regels van XML volgt: precies één hoofdelement, correct genest en gesloten, attribuutwaarden tussen aanhalingstekens en speciale tekens gecodeerd.
Het is geldig als het bovendien voldoet aan een schema — een XSD of DTD — dat voorschrijft welke elementen in welke volgorde en met welke gegevenstypen mogen voorkomen.
Deze tool controleert de welgevormdheid. Voor een schemacontrole heb je het schema zelf nodig.
Het praktische verschil: een welgevormd document kun je inlezen; een geldig document bevat bovendien wat de ontvangende partij verwacht.
In Nederland is dat heel concreet: elektronisch factureren aan de overheid loopt via een netwerk waarin facturen als gestructureerde XML worden uitgewisseld, met een vaste specificatie voor de Nederlandse situatie. Een welgevormd bestand dat niet aan het schema voldoet wordt automatisch geweigerd.
Ook uitwisseling in de zorg en in de logistiek leunt zwaar op gestandaardiseerde XML-berichten, om dezelfde reden: de structuur moet jarenlang stabiel en controleerbaar blijven.
Vrijwel alle XML-problemen vallen in een paar categorieën.
Niet-gecodeerde tekens: een losse & in de tekst is de klassieker, net als een < in tekstinhoud. Die moeten als & en < geschreven worden.
Codering: staat er UTF-8 in de declaratie terwijl het bestand anders is opgeslagen, dan breken de accenttekens als eerste.
De bytevolgordemarkering aan het begin van het bestand: onzichtbaar in je editor, maar veel parsers struikelen erover omdat de XML-declaratie niet meer op positie nul staat.
Naamruimten: er wordt een voorvoegsel gebruikt dat niet gedeclareerd is, of de standaarddeclaratie gaat verloren bij het samenstellen van fragmenten uit verschillende bronnen.
En witruimte: binnen de inhoud van een element is die in XML in beginsel betekenisvol. Een formatter die inspringt verandert dus technisch de inhoud — zonder gevolgen bij pure gegevensformaten, wel bij gemengde inhoud.
Een praktische indeling, want de vraag komt vaak op.
XML is sterk waar de structuur strikt vastligt en automatisch controleerbaar moet zijn. Daarom houdt het stand in overheids- en factuurverkeer, waar formaten jarenlang stabiel en bindend moeten zijn.
JSON is compacter en is de standaard in webkoppelingen, maar heeft geen even ingeburgerde schemavalidatie in het dagelijks gebruik, en kent geen attributen, naamruimten of commentaar.
YAML is leesbaarder voor configuratiebestanden, maar gevoelig voor inspringfouten.
Zet je XML om naar JSON, houd dan rekening met wat verloren gaat: attributen en elementen worden gelijk behandeld, naamruimten verdwijnen, en de volgorde van broer-elementen is in een JSON-object niet gegarandeerd.
Alles hier draait lokaal in je browser, ook voor bestanden die je apparaat niet mogen verlaten.
Welgevormd is syntactisch correct; geldig is bovendien conform een schema.
Omdat de gedeclareerde codering niet overeenkomt met die van het bestand.
Een onzichtbaar teken aan het begin waar veel parsers op stuklopen.
Omdat de structuur automatisch controleerbaar moet zijn tegen een verplicht schema.
Ja: naamruimten, het onderscheid attribuut/element, en de volgorde.
Nee.