Socat issues for XML

John Cowan cowan at
Tue Sep 22 04:33:47 BST 1998

Paul Grosso scripsit:

> I'm not sure I follow.  Are you saying that, even if you set the initial
> default of OVERRIDE to YES and a catalog writer explicitly puts in an
> OVERRIDE NO entry, you think it is more "useful" to assume they didn't
> mean it and ignore it?  That there is, in fact, no way to say "please
> really use the system ids in my document" (which is, of course, precisely
> what the "real" browsers will do until and unless they actually implement
> a catalog, which I don't expect from MS&NS in the near term)?

If you really want to use the system ids, why make use of a catalog at all?
In SGML, you may want it for standalone public ids, but not in XML.

> Perhaps you need (and maybe this is what you meant above) some 
> sort of entry like CATALOG but that ignores SYSTEM entries in
> the catalog-to-be-read.

That is what I meant.

> But that still sends you off to read
> that catalog, so you aren't saving any search time as you implied
> in your earlier message.

Not necessarily.  In particular, if only a system id is supplied (no
public id) then that catalog need not be examined at all.
(I am also assuming that catalogs only accessible from such a catalog
need not be searched for SYSTEM entries either.)

> All you're doing is inhibiting any
> SYSTEM entries from matching, so you're making it even more likely
> that your search will continue longer and wider. 

Again, not necessarily.  I might have a local catalog containing
PUBLIC entries for the documents I maintain, and SYSTEM entries
for documents I cache privately.  I can then defer everything
else to the root catalog maintained by using CATALOG.
This catalog in turn uses DELEGATE entries to delegate to me
and other catalog owners.

Now consider what happens when one of my documents refers to
"PUBLIC <foo> <bar>".  If <bar> is a system id for a document I cache
then the cached version will be specified. If <foo> is a public ID
for one of my documents, the right document will be fetched after
searching my catalog.  If <foo> is someone else's public ID, the
root catalog will delegate to the correct catalog and I will eventually
get a usable system ID.  All is well.

BUT, if my document refers to "SYSTEM <bar>", then my catalog is searched,
and if it's not one that I cache, then the root catalog will also be
searched before going to the URL.  If the root catalog is known not to
contain SYSTEM entries, as it probably should not (that would amount to
a global URL remap for all XML applications that use the catalog
structure), then there should be a way to indicate not to search it.

> You're right that the more global a catalog, the less likely
> it is that it will have a SYSTEM type entry.  But if global
> catalogs have no SYSTEM entries, you don't have a problem, and
> if they do, maybe it makes sense.

[example snipped]

Your example is compelling.  But I think there is still a need,
for efficiency's sake, to add CATALOG entries that are marked "do not
search this catalog if *not* looking for a public id".

John Cowan					cowan at
		e'osai ko sarji la lojban.

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as:
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list