XML-based formats have become the default for many office-productivity tools, including Microsoft Office (Office Open XML), Open and Libre Office (Open Document), and Apple's i Work. Apple has an implementation of a registry based on XML. Many of these standards are quite complex and it is not uncommon for a specification to comprise several thousand pages.
XML has also provided the base language for communication protocols such as XMPP. In publishing, DITA is an XML industry data standard.
XML also provides a mechanism whereby an XML processor can reliably, without any prior knowledge, determine which encoding is being used.
Encodings other than UTF-8 and UTF-16 are not necessarily recognized by every XML parser.
The specification places requirements on what an XML processor must do and not do, but the application is outside its scope.
The processor (as the specification calls it) is often referred to colloquially as an XML parser.
Although the design of XML focuses on documents, the language is widely used for the representation of arbitrary data structures such as those used in web services.
Several schema systems exist to aid in the definition of XML-based languages, while programmers have developed many application programming interfaces (APIs) to aid the processing of XML data.
The code point U 0000 (Null) is the only character that is not permitted in any XML 1.0 or 1.1 document.
There are many other text encodings that predate Unicode, such as ASCII and ISO/IEC 8859; their character repertoires in almost every case are subsets of the Unicode character set.
XML allows the use of any of the Unicode-defined encodings, and any other encodings whose characters also appear in Unicode.
Disparate systems communicate with each other by exchanging XML messages.
The message exchange format is standardised as an XML schema (XSD). XML has come into common use for the interchange of data over the Internet.