> System ids have been pretty obvious in most cases for decades.
> While it is true that 8879 allows system ids to be almost anything,
> all the SGML systems I've seen figure a regular looking system id
> is a file name, and that works fine. In fact, it wasn't until
> the third version of the SGML Open Catalog TR9401 that we added
> mapping of system ids.
But in XML *that doesn't work*, at least not in all cases. Systemids
are URIs, and a systemid that looks like "foo.bar" is a relative
URI, not necessarily a local file name. If you are processing
a local file, it probably will be a local file name, but if you
are processing a document fetched by HTTP, then it will be another
document fetched from the same directory of the same server.
This is why I believe systemid mapping is inappropriate for XML.
When a document author provides a URI, he or she has a right to assume
that the document processor will take that URI at face value.
> The real reason for the SGML Open Catalog was because 8879 did not
> define a way to map public ids into much of anything. And neither
> does XML.
Yes, and that's the property I want to keep. The four entry types
Map (PUBLIC in Socat syntax), Catalog, Delegate, and Base provide
what's needed for an infrastructure, analogous to DNS, to make
public IDs truly *public*.
-- John Cowan http://www.ccil.org/~cowan cowan@ccil.org You tollerday donsk? N. You tolkatiff scowegian? Nn. You spigotty anglease? Nnn. You phonio saxo? Nnnn. Clear all so! 'Tis a Jute.... (Finnegans Wake 16.5)