[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Dumb questions about PUBLIC IDs
- From: Paul Grosso <firstname.lastname@example.org>
- To: email@example.com
- Date: Fri, 04 May 2001 10:09:21 -0500
At 10:34 2001 05 05 -0400, Charles Reitzel wrote:
>I'm curious. I don't see it in the XML spec, but are PUBLIC IDs really supposed to be in the form "-//Foo//Bar//Baz".
No, what you see in the XML spec is what public ids are.
Other than a restriction on the character set, they have
pretty much any form you want. (Note, though, that there
is a normalization process for public ids that compresses
consecutive whitespace, etc.)
SGML declares a special kind of public identifier known
as a Formal public identifier (FPI) that has a certain structure
that includes //'s for field separators (though what you
show above isn't a valid FPI because it doesn't satisfy all
the syntax constraints for an FPI).
> Is this an ISO format?
FPIs are an ISO format.
>If so, where is it defined?
They are described both in the SGML standard ISO 8879 and further
defined/discussed in ISO 9070.
>The grammatical production "PubidLiteral" and its rules for space compression seem to encompass either a URI, the format above, and just about anything else you'd like to put in there.
Other than the character restrictions, a public id has no syntax restrictions.
As far as encompassing URIs, not all characters that are allowed (unescaped)
in URIs are allowed in public ids and vice versa, so other than both being
strings, there really isn't a strong syntactic relationship.
>Tool survey: IE5.5 won't display a file unless the PUBLIC ID is in the format above. XML Spy doesn't care. Expat doesn't care. Xerces doesn't care.
There is an OASIS Technical Committee working on defining an XML Catalog
to map public ids to URIs:
Some of us hope that support for XML Catalog will
someday be included in all important XML processing tools.