- From: Christian Wolfgang Hujer <Christian.Hujer@itcqis.com>
- Date: Wed, 5 Sep 2001 09:41:42 +0200
- To: <roconnor@math.berkeley.edu>, "W3C HTML" <www-html@w3.org>
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