Don Day wrote:
> Are catalog files (both text and OASIS XML forms) necessarily part of the
> DTD/Schema submission for the proposed Committee Draft? If so, I'll add
> them to the "dtd/schema" package after we update the public identifiers. I
> do not think they are normative, but I could be convinced to include them.
> I think they tend to be application-specific and merely encode information
> that is already in the DTDs. However, it is tremendously useful for them to
> be present in a distribution so that users can configure their local
> lookups.
My preference would be that all external identifiers be specified as
absolute URIs that are then mapped to local versions using supplied
catalogs. This could replace the current use of public identifiers in
all entity declarations (but doesn't have to--regardless of whether or
not public IDs are used, SYSTEM IDs are always required [except for
notations]).
I realize that I am probably the only person who feels this way.
I prefer this approach because it is the most consistent with the letter
and intent of the XML spec and general W3C practice, which is that XML
involves Web-based resources. It reflects the ideal (and probably
not-to-distaint) world in which network connectivity is omnipresent and
ubiquitous.
If the declaration sets are shipped with relative system identifiers
then it imposes a specific storage organization that should not, itself,
be normative and certainly does not need to be formally defined or required.
Therefore, by using absolute URIs exclusively, there is a clear
distinction between the *normative* full names/locations for all
resources and the local, for convenience, location of them.
As far as I know, pretty much all tools that users are likely to use,
with the possible exception of MS Word (and I haven't looked into it),
support one or both forms of catalog.
I have started using this approach in my daily work and so far I'm
finding it quite satisfactory.
[This also helps to explain why I have no use for PUBLIC IDs: if you use
only absolute URIs there is no useful or practical difference between
PUBLIC and SYSTEM identifiers, except that in some cases, the SYSTEM
identifiers can be used directly to access resources. In the case where
you want to access a local resource you must define a mapping in both
cases. Given that XML requires SYSTEM IDs in all cases [except
notations, which we don't care about], it's hard to see how PUBLIC IDs
add any value and easy to see how they actually complicate things
because you have to decide which to prefer (system or public) and
configure all your tools appropriately.
Cheers,
E.
--
W. Eliot Kimber
Professional Services
Innodata Isogen
9390 Research Blvd, #410
Austin, TX 78759
(512) 372-8122
www.innodata-isogen.com