[Home] [By Thread] [By Date] [Recent Entries]

  • From: "Brown, Bryan" <bryanb@u...>
  • To: "'xml-dev@x...'" <xml-dev@x...>
  • Date: Fri, 19 May 2000 11:13:39 -0700

> > Ok, well I have a parser that i wrote from scratch, and of 
> the 83 or so
> > productions this is the only one my parser has a problem 
> with. If when a
> > NotationDecl has a publicID the systemliteral is optional 
> (which is what the
> > current spec implies)
> 
> That is so.  However, it is the *only* place where a public 
> ID need not be
> followed by a system ID.
> 
> > then the spec should have had productions like the
> > following
> > [83] NotationDecl ::= '<!NOTATION' S Name S (SystemID | PublicID )
> > [84] PublicID ::= 'PUBLIC' S PubicLiteral (S SystemLiteral)?
> > [85] SystemID ::= 'SYSTEM' S SystemLiteral
> 
> This one is technically correct, but confusing because of the 
> use of PublicID
> in a way which is specific to notations only (everywhere else 
> ExternalID is used).

Right, but how public ids are used by notations is unique to notations, 
No other production uses [84] so i don't see it as a big impact on the spec
but it does remove the ambiguitity.

> > Or
> > [[83] NotationDecl ::= '<!NOTATION' S Name S (ExternalID | 
> PublicID )
> > [84] PublicID ::= 'PUBLICID' S PubicLiteral
> 
> Eh?  That is what it does say.

No i changed the string in [84] to be 'PUBLICID' then when parsing if you
see
PUBLICID you know it is a public id without a systemLiteral, if you see
'PUBLIC'
then you know it is publicId followed by a system literal. I don't think
this is a 
good solution but it does remove the ambiguity


***************************************************************************
This is xml-dev, the mailing list for XML developers.
To unsubscribe, mailto:majordomo@x...&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/
***************************************************************************

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member