6.6. XML Declaration
Before proceeding any further, I want to explain a little about the stuff between the <? and the ?>. It is called the XML declaration, which is an example of a META data tag that appears at the beginning of an XML document. Its purpose is to specify the version of XML, the character encoding, and whether there is an external markup declaration.
Determining whether the XML document has an external markup declaration (standalone="no") or not (standalone="true") is based upon three rules. An XML document has an external markup declaration if attributes have default values, there are entities used other than the five default entities, or either elements or attributes are subject to whitespace nominalization.