I ask this question because I came upon a surprise in reviewing the XMP and XML specifications.
XML, it seems, must start <?xml ...>
But XMP can start <?xpacket ...>
It seems to me that this means that an XMP document/packet therefore, while it contains valid XML entities, is not of itself valid XML (but could be converted by adding a correct prolog). Is this correct? Or are we depending on the language in the XML spec which says "XML documents should begin with an XML declaration" (should rather than shall)?