- From: Paul Grosso <paul@arbortext.com>
- Date: Fri, 7 Feb 97 11:01:00 CST
- To: w3c-sgml-wg@w3.org
> From: Martin Bryan <mtbryan@sgml.u-net.com> > > >[69] ExternalID := 'PUBLIC' S PublicID ( S SystemID )? | > > 'SYSTEM' (S SystemID)? > >[70] SystemLiteral := '"' [^"]* '"' | "'" [^']* "'" > >[70a] PublicID := RestrictedLiteral > >[70b] SystemID := SystemLiteral > >[70c] RestrictedLiteral := > > '"' RestrictedLiteralChars '"' | "'" RestrictedLiteralChars "'" > >[70d] RestrictedLiteralChars := (Letter | Digit | S | SpecialChars)* > >[70e] SpecialChars := ['()+,-./:=?] > >[71] [[unchanged]] > > Why is # not included in SpecialChars? RestrictedLiteralChars is a synonym for 8879's "minimum data character" (production 78). SpecialChars is a synonym for 8879's "Special" character class which 8879 defines to be the characters shown for SpecialChars above and which does not include the # character. In other words, if we allowed # in SpecialChars, an XML PublicID would not be a value 8879 minimum literal and hence not a valid 8879 public id. > (It might be nice to use the URL > fragment identifier as part of a public ID in some cases, even though this > might lead to incompatiblities with SGML name rules, which were done before > URLs became popular.) It seems to me that a URL makes more sense as a system identifier than a public identifier. You could use a public identifier and map it into a URL via the catalog, but I wouldn't say something with a URL fragment identifier needs to be able to be a public ID.
Received on Friday, 7 February 1997 12:52:05 UTC