XML 1.0 Spec Questions

Hi,

I just finished reading the XML 1.0 spec (REC-xml-19980210) and have some
questions which you may have answers.

(1) I have seen PEReference (spec [69]) being used in places where either a Name
or keyword is expected.  For examples, in section 3.2 %name.para; is used as a
Name and in section 3.4 %draft; and %final; are used as keywords.  However, I
could not find any production rule in the spec saying this is legal.  Also,
section 4.4 does not list any of those places as a legal context of PEReference.
So I think spec [45] instead should explicitly say
     [45] elementdecl ::= '<ELEMENT' S (Name | PEReference)  S contentspec S?
'>'
Similarly, specs [62] and [63] instead should explicitly say the followings
respectively:
     ('INCLUDE' | PEReference)
     ('IGNORE' | PEReference)
Am I missing something?

(2) The specs [62] and [63] mentioned above allow optional space around a
keyword.  Comparing to spec [19], no space is allowed before and after the
keyword CDATA?  Is there a reason or purpose for this inconsistency?

(3) In spec [64] the markups of ignoreSectContents are '<![' and ']]>'.  The
square brackets are not balanced which is not well-formed to me.  Is there a
reason that ']>' can not be used instead?

Thank you in advance for your answers.


Chih-Hsiang Chou
IBM Center for Java Technology - Silicon Valley
(O) 408-777-5817, Internet: chchou@us.ibm.com
Tie Line: 240-5817, LN: Cupertino/IBM@IBMUS

Received on Wednesday, 30 June 1999 20:21:34 UTC