The encyclopedia · Software & IT · Technical decision · 1996-1998
XML won by making documents processable without a DTD
W3C's 1998 XML kept SGML's power but added well-formedness: parse any document with simple rules, no DTD required, so it worked everywhere instantly.
W3C · Sun Microsystems
the move
SGML had the power to define document grammars, but it was too complex for the Web; HTML was simple but not extensible. The W3C's XML Working Group, chaired by Jon Bosak of Sun, set out in 1996 to design a markup language that would be straightforwardly usable over the Internet and compatible with SGML.
The group's design goals explicitly required that it be easy to write programs which process XML documents and that optional features be kept to the absolute minimum. The decisive choice was well-formedness: a document obeying simple syntax rules is well-formed and can be parsed without any DTD or validation grammar, so a few hundred lines of code were enough to handle it.
XML 1.0 became a W3C Recommendation on 10 February 1998, freely implementable by anyone. It spread quickly across configuration files, data exchange and document formats; within three years the IETF had to standardize five XML media types (RFC 3023, 2001) because XML entities were already integral to HTTP and WebDAV.
why it works
- Well-formedness meant no DTD was required to parse, so the first integration was cheap.
- The minimum-optional-features rule kept implementations compatible.
- Being compatible with SGML gave it legitimacy with existing markup users.
what transfers
When a powerful standard is too heavy for the mass market, remove the mandatory prerequisite: letting documents work without a DTD turned XML into a universal interchange format.
what came after
XML became the interchange backbone of the early 2000s, powering web services (SOAP), syndication (RSS) and formats like SVG and ODF. JSON later displaced it for many APIs, but XML's well-formedness design remains the template for how a heavy standard can be simplified into a mass-market one.
references
spotted an error? The archive wants to know.