LinuxCommandLibrary

install-sgmlcatalog

Install and manage SGML catalog files

SYNOPSIS

install-sgmlcatalog [OPTION]... CATALOG-FILE [INSTALL-DIR]

PARAMETERS

--add
    Add a CATALOG entry for CATALOG-FILE to /etc/sgml/catalog

--remove
    Remove the entry for CATALOG-FILE from /etc/sgml/catalog

--install
    Install CATALOG-FILE to standard location (default action)

--root DIR
    Use DIR as filesystem root (for chroot/build environments)

-h, --help
    Display usage summary and exit

-V, --version
    Print version information and exit

DESCRIPTION

install-sgmlcatalog manages the installation, addition, and removal of SGML catalog files into the global system catalog, typically /etc/sgml/catalog.

SGML catalogs map public identifiers (unique names for document types) to system identifiers (file paths for DTDs, entities, etc.), enabling tools like nsgmls, jade, or onsgmls to process SGML documents without hardcoded paths.

The command is primarily used in package post-install scripts (e.g., Debian/Ubuntu) to register catalogs during software installation. By default, it installs the catalog file to a standard location under /usr/share/sgml/ and optionally adds a CATALOG entry to the main catalog file. The --add option appends an entry like CATALOG "/path/to/catalog", while --remove deletes it. After modifications, it invokes update-catalog to rebuild delegate catalogs.

This ensures consistent entity resolution across the system, crucial for DocBook, LinuxDoc, and other SGML-based documentation tools.

CAVEATS

Requires root privileges to modify system catalogs.
Backup /etc/sgml/catalog before manual use.
Not for XML (use xmlcatalog instead).

FILES

Modifies /etc/sgml/catalog and /etc/sgml/sgml-delegate.cat.
Installs catalogs under /usr/share/sgml/.

EXAMPLES

install-sgmlcatalog --add /usr/share/sgml/docbook/4.5/catalog
install-sgmlcatalog --remove /usr/share/sgml/docbook/4.5/catalog
install-sgmlcatalog /path/to/mycatalog /usr/share/sgml/mypkg/

HISTORY

Developed for Debian's sgml-base package in the late 1990s to standardize SGML catalog management amid growing DocBook usage in Linux documentation.

SEE ALSO

update-catalog(8), sgmlcatalog(5), catalog(5), xmlcatalog(1)

Copied to clipboard