What is XML

XML

Definition:


XML
stands for “Extensible Markup Language,” a markup language that defines a set of document coding rules in a format that is both human-readable and machine-readable. It is defined by the XML 1.0 W3C Specification and several other related specifications, which are free open standards.

XML’s design goals emphasize simplicity, generality, and ease of use over the Internet. It is a text data format with strong support via Unicode for different human languages. Although XML design focuses on documents, it is widely used for the representation of arbitrary data structures, such as those used in web services.

There are several schema systems to assist in the definition of XML-based languages, while many application programming interfaces (APIs) have been developed to aid in the processing of XML data.

XML Applications

Since 2009, hundreds of document formats have been developed using XML syntax, including RSS, Atom, SOAP and XHTML. XML-based formats have become the default for many office tools, including Microsoft Office (Office Open XML), OpenOffice.org and LibreOffice (OpenDocument), and Apple’s iWork. XML has also been used as the base language for communication protocols, such as XMPP. Requests for the Microsoft .NET Framework use XML files for configuration. Apple has an XML-based logging implementation.

XML has become commonly used for data exchange over the Internet. IETF RFC 7303 sets the rules for building Internet media types to be used when sending XML. It also defines the media types application/xml and text/xml, which say only that the data is in XML, and nothing about its semantics. The use of text/xml has been criticized as a potential source of coding problems and it has been suggested that it should be considered obsolete.

RFC 7303 also recommends that XML-based languages given by media types end in + xml; for example, image/svg+xml for SVG. Other guidelines for using XML in a network context can be found in RFC 3470, also known as IETF BCP 70, a document that covers many aspects of designing and deploying an XML-based language.

Related Terms