[XML-SIG] Maintaining catalogs

Martin v. Loewis martin@loewis.home.cs.tu-berlin.de
Wed, 28 Feb 2001 01:14:47 +0100

> For a project, I'd like to install a DTD on the system and
> automatically add its public identifier to the catalog.  Is there a
> standard place to put SGML/XML catalogs on Unix systems?
> /usr/(local)?/lib/sgml?  /etc/sgml/?

I believe the standard location is below /usr/share/sgml. Not sure how
it is supposed to work; it seems that a tool should look at all files
matching CATALOG.* in that directory.

In addition, I have a number of subdirectories in /usr/share/sgml,
e.g. OASIS, W3C, James_Clark, Normal_Walsh, etc. They seem to
correspond to the public identifiers; eg. "-//OASIS//DTD DocBook
V3.1//EN" can be found in /usr/share/sgml/OASIS/dtd/DocBook_V3.1.
However, these files are referred-to in the CATALOG.* files, so that
seems to be the primary resource.

In addition, nsgml honors the SGML_CATALOG_FILES environment variable;
if this is not set, the documentation says it uses a system-dependent
default list of catalog files.

There is something called "open catalogs", but I'm not certain how
much that actually specifies.