What it is and the problem it solves
XML is a formalised subset of SGML designed for web-scale data interchange. It solves the problem of vendor-locked, opaque document formats by enforcing strict syntax rules and enabling custom vocabularies.
How it works
XML is a markup language defined as an application profile of SGML (ISO 8879). It uses human-readable tags to describe document structure and content. It is governed by the W3C’s four-stage standard formation process.
What works
Its specification is stable, freely available, and implemented across decades of tooling. Its separation of content from presentation, support for namespaces, and compatibility with DTDs and XML Schema allow rigorous validation and modular extension.
What does not
XML does not simplify data interchange by default. Its strict syntax, mandatory well-formedness, and lack of built-in data typing impose runtime and cognitive costs. It does not enforce meaning—only structure—and offers no native mechanism for schema evolution or version negotiation.
What it changes
XML shifts control from proprietary binary formats to open, text-based, self-describing documents. It enables tooling agnosticism across systems but replaces implicit assumptions with explicit, often redundant, declarations.
Is it worth your time
Yes—if you need structured, interoperable, platform-agnostic data exchange and are prepared to handle validation, parsing overhead, and verbosity. No—if you prioritise speed, compactness, or developer ergonomics over strict extensibility and formal semantics.