AW: AW: Charset "iso-10646-1"

Hello,

> On Fri, 31 Aug 2001, Christian Wolfgang Hujer wrote:
>
> > My two cents about that:
> > First cent: XHTML 1.0 Appendix C.1 confuses all XML/HTML
> beginners because
> > the XML declaration is mentioned in that paragraph about processing
> > instructions as if it were a processing instruction, but the
> XML declaration
> > is not a processing instruction, it is explicitely excluded
> from processing
> > instructions by the XML specification (first and second edition).
>
> Where does the XML specification say this?  I couldn't find it (seached
> for all occurances of "processin instruction").
It is said, of course, in section "2.6 Processing Instructions", in rules 16
and 17

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

This means that a processing instruction as a processing instruction target,
which is a name but not XML (no matter what case). So <?php ... ?> is an XML
processing instruction, but <?xml ... ?> isn't.

And rule 23 (sectino 2.8, Prolog) explicitely defines <?xml ... ?> to be the
XML Declaration:
[23]  XMLDecl  ::=  '<?xml' VersionInfo EncodingDecl? SDDecl? S? '?>'

The text in section 2.6 says 'The target names "XML", "xml", and so on are
reserved for standardization in this or future versions of this
specification.', which of course means that by current definition, <?xml ...
?> is not a processing instruction, it is the XML Declaration.

At least that's how I interpret it (and how Goldfarb and Prescod do, if I
remeber right).

Greetings

Christian

Received on Wednesday, 5 September 2001 03:48:04 UTC