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.

stax validating-75stax validating-52stax validating-56

Further guidelines for the use of XML in a networked context appear in RFC 3470, also known as IETF BCP 70, a document covering many aspects of designing and deploying an XML-based language.

The material in this section is based on the XML Specification.

extends the set of allowed characters to include all the above, plus the remaining characters in the range U 0001–U 001F.

At the same time, however, it restricts the use of C0 and C1 control characters other than U 0009 (Horizontal Tab), U 000A (Line Feed), U 000D (Carriage Return), and U 0085 (Next Line) by requiring them to be written in escaped form (for example U 0001 must be written as or its equivalent).

The characters making up an XML document are divided into markup and content, which may be distinguished by the application of simple syntactic rules.

Generally, strings that constitute markup either begin with the character An element is a logical document component that either begins with a start-tag and ends with a matching end-tag or consists only of an empty-element tag.

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.

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.