The XML decl is not a PI (especially in SAX)

David Megginson david at
Sun Nov 14 12:29:11 GMT 1999

"Richard Anderson" <rja at> writes:

> The XML declaration is an indication to the application processing
> the document as to what version of the XML spec the following markup
> conforms to, what encoding is used, and whether or not there are
> dependancies of external entites within the document.  All of those
> are processing hints (read PI) for the XML processor, arent they ?

Here are the productions for a processing instruction in XML 1.0:

[16] PI ::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>'
[17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))

The XML and text declarations cannot match this production -- the only 
reason that the syntax is similar is so that XML could work with
legacy SGML tools.

> Certainly the SAX parser I use reports the XML declaration as a PI
> which is obviously very usual.  Is that unusual ?

That is wrong.  Note the documentation from

    * Receive notification of a processing instruction.
    * <p>The Parser will invoke this method once for each processing
    * instruction found: note that processing instructions may occur
    * before or after the main document element.</p>
    * <p>A SAX parser should never report an XML declaration (XML 1.0,
    * section 2.8) or a text declaration (XML 1.0, section 4.3.1)
    * using this method.</p>

Please inform the author of the parser of this implementation bug.

> I will argue the XML spec doesn't define the declaration as a type
> of PI, but it does reserve the xml PItarget, and, quickly checking
> the nearest XML book on my desk (XML companion by Neil Bradley) that
> also says it is a PI.

That book is also wrong -- please inform the author.

All the best,


David Megginson                 david at

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list