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.
<?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 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.
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