Languages and formats
XML
Summary
XML (Extensible Markup Language) is a text format for structured information in which each application defines its own tags. Derived from SGML, it became a W3C Recommendation on February 10, 1998. XML underlies RSS and Atom feeds, XML sitemaps, SVG graphics and office file formats, though JSON replaced it for most web data exchange from the mid-2000s on.
What XML is
XML, short for Extensible Markup Language, is a text format for storing and exchanging structured information. Like HTML, it marks up content with tags in angle brackets. Unlike HTML, it has no fixed list of tags: each XML format defines its own.1
A short example is <book><title>Weaving the Web</title></book>. Here book and title mean only what the program reading them decides. The W3C’s own primer warns that a <p> tag in an XML file should not be assumed to be a paragraph.1
XML itself is not one format but a set of rules for defining formats. Its specification became a W3C Recommendation, the World Wide Web Consortium‘s name for a finished standard, on February 10, 1998.2
The rules separate two levels of correctness:
- Well formed. The document follows XML’s grammar: tags are properly nested and closed, attribute values are quoted, and there is exactly one root element that contains everything else.23
- Valid. The document is well formed and also follows a declared grammar for its particular format, such as a Document Type Definition (DTD).2
XML is strict about errors. A break in the well-formedness rules is a “fatal error,” and after detecting one a conforming processor “MUST NOT continue normal processing.”3 Names are matched exactly, with no case folding, so <Title> and <title> are different tags.3
XML is built on Unicode, and every XML processor must accept the UTF-8 and UTF-16 encodings.3 The W3C’s primer adds that XML files are text that people “shouldn’t have to read, but may when the need arises,” and that they are nearly always larger than comparable binary formats.1
From SGML to XML 1.0
XML’s grammar comes from SGML, the Standard Generalized Markup Language. SGML grew out of GML, which Charles Goldfarb, Ed Mosher and Ray Lorie invented at IBM’s Cambridge Scientific Center in 1969. Goldfarb later chose the name GML because it matched the three inventors’ initials.4
Work on an SGML standard began at the American National Standards Institute in 1978, with Goldfarb’s GML user’s guide as the committee’s first working paper.4 The result was published as ISO 8879 in October 1986. As of October 2026, ISO lists it as current, last reviewed and confirmed in 2020.5
In 1998 the W3C described SGML as a standard that had “proved invaluable in large-scale publishing applications,” while presenting XML as much simpler and built for networks.6 HTML itself had been modeled on SGML, as the HTML entry explains.
The W3C launched the project that became its XML work in May 1996, and formally started a Generic SGML Activity that June. The first XML Working Draft was announced in November 1996 at the SGML ’96 conference in Boston, and a Proposed Recommendation followed in December 1997.6
The working group, first called the SGML Editorial Review Board, was chaired by Jon Bosak of Sun Microsystems.2 The XML 1.0 Recommendation names three editors: Tim Bray (Textuality and Netscape), Jean Paoli (Microsoft) and C. M. Sperberg-McQueen (University of Illinois at Chicago).2 The W3C’s announcement listed member companies in the group including Adobe, Hewlett-Packard, Microsoft, Netscape and Sun.6
The specification set out ten design goals. Among them: XML should be compatible with SGML, easy to write programs for, and quick to design, with as few optional features as possible. The tenth goal reads: “Terseness in XML markup is of minimal importance.”2
The aim, in the specification’s words, was to let generic SGML be served, received and processed on the web the way HTML already was.2 Bosak summed up the pitch in the launch press release: XML “does for data what Java does for programs.”6
The XML family and data exchange
XML 1.0 was soon joined by companion standards that the W3C called a family of technologies.1
- Namespaces in XML (January 14, 1999) let documents mix vocabularies without name clashes, by pairing each element and attribute name with a URI that identifies its vocabulary.7
- XSLT 1.0 (November 16, 1999), edited by James Clark, is “a language for transforming XML documents into other XML documents.” It uses a companion language, XPath, to pick out parts of a document.8
The core specification has been revised in editions rather than new versions. The Fifth Edition of XML 1.0, published on November 26, 2008, is the current one. It gathered the accumulated errata and relaxed the rules for which characters may appear in names.3
XML was also used for programs to talk to each other over the web. XML-RPC, published by Dave Winer of UserLand Software in 1999, sends a remote procedure call as an XML document inside an HTTP POST request and returns the answer as XML.9 WordPress still includes an XML-RPC interface, switched on by default since version 3.5, so that outside blogging clients can publish to a site.10
Office software moved to XML too. Ecma International published Office Open XML, a set of XML-based formats for office documents, as ECMA-376 in December 2006. The standard defines the XML vocabularies and the packaging of the files, and is also published as ISO/IEC 29500.11
XHTML: HTML rewritten as XML
For a time, XML was expected to replace HTML. The year after HTML 4 was published, the W3C membership decided to stop evolving HTML and to build an XML-based version, called XHTML, instead.12
XHTML 1.0 became a W3C Recommendation on January 26, 2000. It was “a reformulation of HTML 4 as an XML 1.0 application,” with three DTDs matching the three flavors of HTML 4.13 In practice, authors had to write lowercase tags, close every element and quote every attribute value.13
Whether a browser applied that strictness depended on how the page was labeled. A page labeled with the XML media type application/xhtml+xml goes to an XML parser, and “even minor syntax errors will prevent a document labeled as XML from being rendered fully.” A page sent as text/html is processed as HTML, where the same minor errors would be ignored. So an XHTML page sent as text/html never gets XML’s strict checks.14
The XML route for HTML lost out. In 2004 Mozilla and Opera proposed evolving HTML instead, and the W3C rejected the proposal because it conflicted with the direction already chosen.12 Apple, Mozilla and Opera then announced that they would continue the effort themselves, at a new group called the WHATWG, and that work became HTML5.12 In July 2009 the W3C said it would let the charter of its XHTML 2 Working Group expire at the end of that year and would not renew it.15 The W3C marked XHTML 1.0 as superseded on March 27, 2018.13
The XML form of HTML still exists inside today’s HTML standard, which no longer uses the name XHTML and says plainly: “Using the XML syntax is not recommended.”16 As of October 22, 2026, W3Techs detects XHTML on 2.9% of websites whose markup language it can identify, and HTML on 97.8%.17
Feeds and sitemaps
Two XML formats found on many websites are not pages at all. They are feeds, which announce new content to readers and apps, and sitemaps, which list a site’s pages for search engines.
RSS
RSS began at Netscape. Its RSS 0.90 specification, dated March 15, 1999, defined an “RDF Site Summary” file that publishers could register to add a channel to the My Netscape portal. Each file was limited to 15 items and 8 KB.18
RSS 0.91, written mainly by Dan Libby and dated July 10, 1999, dropped RDF (a W3C metadata framework) because few tools supported it and its files were hard for people to write. A revision note records the name change from “RDF Site Summary” to “Rich Site Summary.”19
The current line of the format is RSS 2.0, written by Dave Winer, founder of UserLand Software.20 The RSS Advisory Board dates it to August 2002.21 In 2003 Harvard Law School’s Berkman Center published the specification under a Creative Commons license, with a roadmap that froze the core format and sent new features to extension modules.20 The RSS Advisory Board’s current text, version 2.0.11, is dated March 30, 2009, and expands RSS as “Really Simple Syndication.”21 Netscape transferred its RSS 0.90 specification to the board on January 22, 2008.18
RSS 2.0’s enclosure element attaches a media file to an item, with its URL, size in bytes and type, such as audio/mpeg.21 Podcasts depend on it: Apple Podcasts requires feeds that follow the RSS 2.0 specification, begin with an XML declaration naming UTF-8, and give each episode its own enclosure.22
Atom
Atom is a second feed format, developed at the IETF and published as RFC 4287 in December 2005. The RFC describes it as “an XML-based Web content and metadata syndication format” and requires every Atom document to be well-formed XML.23 WordPress publishes RSS 2.0 and Atom feeds by default, along with older RSS formats.24
XML sitemaps
Google introduced Sitemaps on June 2, 2005, as a beta that let site owners tell Google about new and changed pages, released under a Creative Commons license so other search engines could adopt it.25 On November 16, 2006, Google, Yahoo and Microsoft announced joint support for Sitemaps 0.90, to be published at sitemaps.org.2627
A sitemap is an XML file with a urlset element holding one url entry per page, each with a loc address. The optional lastmod, changefreq and priority tags carry hints. Files must be UTF-8, and each may hold up to 50,000 URLs and 50 MB uncompressed. A sitemap index can point to more files.28 Google says it ignores priority and changefreq and uses lastmod only when it is consistently accurate.29
WordPress 5.5 added built-in sitemaps, with an index at /wp-sitemap.xml that the site’s robots.txt file points to automatically. Each sitemap holds up to 2,000 entries by default, and the feature includes XSL stylesheets that make the files readable in a browser.30
SVG: graphics written in XML
SVG, Scalable Vector Graphics, is an XML format for drawings. The SVG 1.0 Recommendation of September 4, 2001, edited by Jon Ferraiolo of Adobe, defines it as “a language for describing two-dimensional vector and mixed vector/raster graphics in XML.”31
Vector means the file stores shapes, lines and text as instructions instead of a grid of pixels, so an SVG logo stays sharp at any size. SVG 2 describes the format as stylable and scalable, with support for scripting and animation, and says it can be mixed with HTML content.32 As of October 22, 2026, SVG 2 is a W3C Candidate Recommendation Snapshot dated October 6, 2026, and the working group targets full Recommendation no sooner than December 1, 2026.32
As of October 22, 2026, W3Techs finds SVG images on 68.3% of websites, behind PNG at 74.9% and JPEG at 68.8%.33
How JSON took over data exchange
In early descriptions of web applications, XML was the data format. When Jesse James Garrett named Ajax on February 18, 2005, his list of its parts included “data interchange and manipulation using XML and XSLT” and background requests with XMLHttpRequest.34
JSON, JavaScript Object Notation, offered a smaller alternative. On December 6, 2006, at the XML 2006 conference in Boston, Douglas Crockford argued that JSON’s simpler syntax made parsing more efficient, and that JSON was “not a document format” but a direct way to express records, lists and trees. His conclusion: “The characteristics of XML that make it suitable for data interchange are stronger in JSON.”35
Web APIs moved that way. The WordPress REST API, for example, works by sending and receiving data as JSON objects.36 The IETF published JSON’s current definition as RFC 8259, a standards-track document, in December 2017. Its editor was Tim Bray, one of the three editors of XML 1.0.372 The browser feature behind Ajax still carries XML in its name, but its standard now says the name “is historical and has no bearing on its functionality,” and it can parse responses as JSON.38
Browsers have also begun dropping one XML tool. On October 29, 2025, Google published a plan to remove XSLT from Chrome, citing security flaws in the aging libxslt library and use on about 0.02% of page loads. As of October 22, 2026, Google’s schedule still has XSLT stop working in Chrome 158, due on November 17, 2026, for everyone outside an origin trial or enterprise policy, and those two exceptions end with Chrome 176, scheduled for August 17, 2027. Google also says Firefox and WebKit have indicated plans to remove XSLT.39 Google says that XML itself is not being removed, and suggests JSON APIs or server-side transformation instead.39
XML did not disappear. RSS and Atom feeds, XML sitemaps, SVG images and Office Open XML files, all described above, are still XML.
Timeline
- Google publishes its plan to remove XSLT from Chrome39
- RFC 8259, edited by Tim Bray, sets out the JSON format37
- XML 1.0 Fifth Edition, the current edition, is published3
- Douglas Crockford presents JSON as "the fat-free alternative to XML"35
- Google, Yahoo and Microsoft announce joint support for Sitemaps 0.9026
- The Atom Syndication Format is published as RFC 428723
- Google introduces Sitemaps25
- RSS 2.0 is released21
- SVG 1.0 becomes a W3C Recommendation31
- XHTML 1.0 becomes a W3C Recommendation13
- Netscape publishes RSS 0.90 for My Netscape18
- XML 1.0 becomes a W3C Recommendation2
- First XML Working Draft is announced at SGML '96 in Boston6
- SGML is published as ISO 88795
- Goldfarb, Mosher and Lorie invent GML at IBM4
What it means for your website
Most site owners never write XML by hand, but your site almost certainly publishes it. These are the files worth checking.
- Your sitemap. On self-hosted WordPress, look for /wp-sitemap.xml, or the sitemap your SEO plugin creates in its place.30 Make sure it lists only pages you want found, and add a Sitemap line to robots.txt pointing to it. Google treats a sitemap as a hint and does not promise to use it.29
- Accurate dates. Google ignores priority and changefreq and trusts lastmod only when it matches real changes, so a plugin that stamps every page with today’s date does not help.29 Our guide to websites and SEO covers what each builder lets you control.
- Styled sitemaps and feeds in Chrome. Many sitemaps and feeds use XSL stylesheets to look like web pages in a browser.3039 Once Chrome turns XSLT off, those files will show as raw XML there. Google says XML itself stays, and its suggestions for feeds include a link rel=”alternate” tag in your pages’ HTML so readers can still find the feed.39
- Your feed. WordPress publishes RSS 2.0 and Atom feeds by default.24 If you host a podcast, Apple requires RSS 2.0 with one enclosure per episode.22
- SVG logos and icons. SVG stays sharp at any size, but it can contain scripts.32 WordPress leaves SVG out of its default list of allowed uploads, so only add SVG support, and only upload SVG files, from sources you trust.40
- XML-RPC. WordPress has had it on by default since 3.5 for remote publishing.10 If you never post from outside apps, ask your developer whether you need it.
For how all these files fit together, see how a website works and our WordPress review.
See also
References
- XML in 10 points. W3C. 2001-11-13. accessed October 22, 2026.
- Extensible Markup Language (XML) 1.0 (W3C Recommendation). W3C. 1998-02-10. accessed October 22, 2026.
- Extensible Markup Language (XML) 1.0 (Fifth Edition). W3C. 2008-11-26. accessed October 22, 2026.
- The Roots of SGML: A Personal Recollection. Charles F. Goldfarb, sgmlsource.com. accessed October 22, 2026.
- ISO 8879:1986 Information processing: Text and office systems: Standard Generalized Markup Language (SGML). International Organization for Standardization. 1986-10. accessed October 22, 2026.
- The World Wide Web Consortium Issues XML 1.0 as a W3C Recommendation. W3C press release. 1998-02-10. accessed October 22, 2026.
- Namespaces in XML (W3C Recommendation). W3C. 1999-01-14. accessed October 22, 2026.
- XSL Transformations (XSLT) Version 1.0 (W3C Recommendation). W3C. 1999-11-16. accessed October 22, 2026.
- XML-RPC Specification. Dave Winer, UserLand Software, xmlrpc.com. 1999-06-15. accessed October 22, 2026.
- XML-RPC Support. WordPress Codex, WordPress.org. accessed October 22, 2026.
- ECMA-376: Office Open XML file formats. Ecma International. accessed October 22, 2026.
- HTML5 (W3C Recommendation), section 1.4: History. W3C. 2014-10-28. accessed October 22, 2026.
- XHTML 1.0: The Extensible HyperText Markup Language (Second Edition). W3C. 2002-08-01. accessed October 22, 2026.
- HTML Living Standard, section 1: Introduction (HTML vs XML syntax). WHATWG. accessed October 22, 2026.
- FAQ about the future of XHTML. W3C. 2009-07-02. accessed October 22, 2026.
- HTML Living Standard, section 14: The XML syntax. WHATWG. 2026-10-22. accessed October 22, 2026.
- Usage statistics of markup languages for websites. W3Techs. 2026-10-22. accessed October 22, 2026.
- RSS 0.90 Specification. Netscape Communications, via RSS Advisory Board. 1999-03-15. accessed October 22, 2026.
- RSS 0.91 Specification (Netscape), revision 3. Dan Libby, Netscape Communications, via RSS Advisory Board. 1999-07-10. accessed October 22, 2026.
- RSS 2.0 at Harvard Law. Dave Winer, Berkman Center for Internet and Society, Harvard Law School. 2003-07-15. accessed October 22, 2026.
- RSS 2.0 Specification (version 2.0.11). RSS Advisory Board. 2009-03-30. accessed October 22, 2026.
- Podcast requirements. Apple Podcasts for Creators. accessed October 22, 2026.
- RFC 4287: The Atom Syndication Format. Internet Engineering Task Force, RFC Editor. 2005-12. accessed October 22, 2026.
- WordPress Feeds. Advanced Administration Handbook, WordPress.org. accessed October 22, 2026.
- Webmaster friendly. Shiva Shivakumar, Official Google Blog. 2005-06-02. accessed October 22, 2026.
- Major Search Engines Support Sitemaps Protocol (joint press release text). Google, Yahoo and Microsoft, reprinted on John Battelle's Search Blog. 2006-11-16. accessed October 22, 2026.
- Search Engines Unite On Unified Sitemaps System. Danny Sullivan, Search Engine Watch. 2006-11-16. accessed October 22, 2026.
- Sitemaps XML format. sitemaps.org. 2016-11-21. accessed October 22, 2026.
- Build and submit a sitemap. Google Search Central. 2026-07-08. accessed October 22, 2026.
- New XML Sitemaps Functionality in WordPress 5.5. Pascal Birchler, Make WordPress Core. 2020-07-22. accessed October 22, 2026.
- Scalable Vector Graphics (SVG) 1.0 Specification (W3C Recommendation). W3C. 2001-09-04. accessed October 22, 2026.
- Scalable Vector Graphics (SVG) 2 (W3C Candidate Recommendation Snapshot). W3C. 2026-10-06. accessed October 22, 2026.
- Usage statistics of image file formats for websites. W3Techs. 2026-10-22. accessed October 22, 2026.
- Ajax: A New Approach to Web Applications. Jesse James Garrett, Adaptive Path. 2005-02-18. accessed October 22, 2026.
- JSON: The Fat-Free Alternative to XML. Douglas Crockford, json.org. 2006-12-06. accessed October 22, 2026.
- REST API Handbook. WordPress Developer Resources, WordPress.org. accessed October 22, 2026.
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format. Internet Engineering Task Force, RFC Editor. 2017-12. accessed October 22, 2026.
- XMLHttpRequest Living Standard. WHATWG. 2026-10-19. accessed October 22, 2026.
- Removing XSLT for a more secure browser. Chrome for Developers, Google. 2025-10-29. accessed October 22, 2026.
- wp_get_mime_types(). WordPress Code Reference, WordPress.org. accessed October 22, 2026.
Web Building Encyclopedia. First published October 22, 2026. Last reviewed October 22, 2026. Every fact on this page is linked to a source we opened. Spotted an error? Write to [email protected].