Steam not validating game files
XML provides escape facilities for including characters that are problematic to include directly.
For example: All permitted Unicode characters may be represented with a numeric character reference.
The essence of why extensible markup languages are necessary is explained at Markup language (for example, see Markup language § XML) and at Standard Generalized Markup Language.
Hundreds of document formats using XML syntax have been developed, including RSS, Atom, SOAP, SVG, and XHTML. are based on XML and the rich features of the XML schema specification.
An XML attribute can only have a single value and each attribute can appear at most once on each element.
In the common situation where a list of multiple values is desired, this must be done by encoding the list into a well-formed XML attribute XML documents consist entirely of characters from the Unicode repertoire.
XML includes facilities for identifying the encoding of the Unicode characters that make up the document, and for expressing characters that, for one reason or another, cannot be used directly.
In the case of C1 characters, this restriction is a backwards incompatibility; it was introduced to allow common encoding errors to be detected.
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.