XML

XML (eXtensible Markup Language) is een tekstformaat dat gestructureerde data vastlegt met tags, zoals HTML — maar dan met zelfgekozen tagnamen. Jarenlang de standaard voor data-uitwisseling en configuratie; inmiddels vaak vervangen door JSON en YAML, maar nog volop aanwezig.

Syntax

<?xml version="1.0" encoding="UTF-8"?>
<server naam="web01">
  <ip>192.168.1.10</ip>
  <rol>webserver</rol>
</server>

Elke geopende tag moet gesloten worden en er is precies één root-element. Attributen (naam="web01") hangen aan de tag zelf, inhoud staat ertussen.

XML versus JSON

XML is uitgebreider: het kent schema's (XSD) om documenten formeel te valideren, namespaces en commentaar. De prijs is breedsprakigheid — dezelfde data is in JSON compacter en directer te verwerken. Voor nieuwe API's is JSON de norm; XML houdt stand waar validatie en contracten zwaar wegen.

Waar je XML nog tegenkomt

RSS/Atom-feeds, SVG-afbeeldingen, SOAP-API's, Java-configuratie (Maven), Office-documenten (docx is gezipte XML) en libvirt-definities van virtuele machines.

xmllint --format bestand.xml    # XML netjes inspringen en valideren

Zie ook

  • json — de opvolger voor API's
  • yaml — de opvolger voor configuratie
  • api — waar deze formaten worden uitgewisseld
  • ascii — tekencodering, ook voor XML relevant
ontwikkelingdata