- From: C M Sperberg-McQueen <cmsmcq@acm.org>
- Date: Mon, 26 Apr 1999 19:12:47 -0500
- To: dvint@slip.net
- CC: xml-editor@w3.org, dvint@slip.net, cmsmcq@acm.org
>Date: Sun, 25 Apr 1999 16:09:01 -0700 (PDT) >From: Dan Vint <dvint@slip.net> >I'm working with the REC-xml-19980210 version of the XML spec. > >I'm making an assumption that there should be a reference to a production rule >in order for it to be used, and that if there isn't a rule allowing it, the >examples and any textual reference to a feature doesn't imply that it is >valid. This assumption is not correct for the rule specifying the legal contents of the external DTD subset. >Given that I think I have found 2 problems: > >1) Although there is a section about external subsets and there are two rules in >that section, nothing references rule [30] extsubsetdecl. Right. The external subset has, as it were, a separately rooted parse tree. The grammar for documents covers what is technically called the 'document entity': i.e. its grammar shows (in production [28]) how to refer to the external subset. I suppose we could have introduced the non-terminal for the external subset in production 28, but that does not seem very clear, either. (The grammar in ISO 8879, which defines SGML, does things roughly that way, and it took me several years to understand what was going on in that part of the grammar.) >2) Parameter entities are shown as being allowed in the Name or the content model in the examples for the [45]elementdecl, but I don't see any productions >that allow parameter entities to be defined in a [5]Name. Parameter entities for parts of declarations don't appear in the grammar, only parameter entities for whole declarations, since the rules adopted for parameter entities turned out to be rather hard to express in EBNF. We did try various ways of dealing with the problem, some of which did explicitly appear in the productions of the grammar; while I am not over-happy at what we came up with, I believe it has the virtue of being better than any of the other approaches discussed or tried. >I haven't tried these out with a parser yet, so I'm not sure how they are >being implemented, but it seems that there are a couple of problems here. > >Also I notice a duplication in rules that isn't needed: > >pubidliteral in externalID [75] creates a PUBLIC id, but the nnotationdecl [82] >references externalid and a new publicID [83]. It seems that externalID does >it all. Note that an externalId which begins with the keyword PUBLIC is required to have a system identifier; the notation declaration may use that form, or may use a form with a PUBLIC identifier and no SYSTEM identifier. >Is there an ademdem or list of corrections that are available that I should >be looking at? The list of known errata is pointed to from the text at the beginning of the spec. That list was neglected for some time, but has recently been attended to, so the pointer is no longer vacuous. I hope this helps. -C. M. Sperberg-McQueen Co-chair, W3C XML Schema Work Group Senior Research Programmer, University of Illinois at Chicago
Received on Monday, 26 April 1999 20:13:08 UTC