[
Lists Home |
Date Index |
Thread Index
]
- From: "Brown, Bryan" <bryanb@upshot.com>
- To: "'xml-dev@xml.org'" <xml-dev@xml.org>
- 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@xml.org&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/
***************************************************************************
|