Re: What to do given both SYSTEM and PUBLIC?

> But if software knows about both, I would urge that the public
> identifier should be tried first.
> a) It will probably be faster (since it will be a catalog lookup more
> often than a network transaction using a still-under-development URN
> protocol).

No, the still-under-dev. URN protocol is for FPIs, as an alternative for
CATALOG; the SYSTEM ID is a plain old URL or file.
You still have to fetch the remote CATALOG, which _then_ tells you how
to use http (say) for the DTD.  So the SYSTEMlookup is likely to be
much faster.  For performance, do SYSTEM first.  For generality, do
PUBLIC first.

> b) It provides opportunity for client-side overriding.
Not unless you allow the user to override the CATALOG fetching.  I am
assuming that a remote catalog is fetched by some unspecified mechanism
(e.g. http) and that the *viewer* user cannot easily override it, short
of actually editing a configuration file or something else equally
unacceptably arcane to the average home owner :-)...

> c) It could allow "smarter" caching
If two SYSTEM URls are the same, the existing URL manager will cache
them, modulo pragma no-cache and the expiry time from HTTP.