1. NAME▲

xmlcatalog - Command line tool to parse and manipulate XML or SGML catalog files.

2. SYNOPSIS ▲

xmlcatalog [--sgml --shell --create --del \fBVALUE(S)\fR [ --add \fBTYPE\fR\fBORIG\fR\fBREPLACE\fR --add \fBFILENAME\fR] --noout --no-super-update [-v --verbose]] {CATALOGFILE} {ENTITIES...}

3. DESCRIPTION ▲

xmlcatalog is a command line application allowing users to monitor and manipulate XML and SGML catalogs. It is included in libxml(3).

Its functions can be invoked from a single command from the command line, or it can perform multiple functions in interactive mode. It can operate on both XML and SGML files.

4. OPTIONS ▲

xmlcatalog accepts the following options (in alphabetical order):

  • --add \fBTYPE\fR\fBORIG\fR\fBREPLACE\fR
        Add an entry to CATALOGFILE. TYPE indicates the type of entry. Possible types are: public, system, rewriteSystem, rewriteURI, delegatePublic, delegateSystem, nextCatalog. ORIG is the original reference to be replaced, and REPLACE is the URI of the replacement entity to be used. The --add option will not overwrite CATALOGFILE, outputting to stdout, unless --noout is used. The --add will always take three parameters even if some of the XML catalog constructs will have only a single argument.
  • --add \fBFILENAME\fR
        If the --add option is used following the --sgml option, only a single argument, a FILENAME, is used. This is used to add the name of a catalog file to an SGML supercatalog, a file that contains references to other included SGML catalog files.
  • --create
        Create a new XML catalog. Outputs to stdout, ignoring filename unless --noout is used, in which case it creates a new catalog file filename.
  • --del \fBVALUE(S)\fR
        Remove entries from CATALOGFILE matching VALUE(S). The --del option will not overwrite CATALOGFILE, outputting to stdout, unless --noout is used.
  • --noout
        Save output to the named file rather than outputting to stdout.
  • --no-super-update
        Do not update the SGML super catalog.
  • --shell
        Run a shell allowing interactive queries on catalog file CATALOGFILE. For the set of available commands see the section called « SHELL COMMANDS ».
  • --sgml
        Uses SGML super catalogs for --add and --del options.
  • -v, --verbose
        Output debugging information.

5. SHELL COMMANDS ▲

Invoking xmlcatalog with the --shell \fBCATALOGFILE\fR option opens a command line shell allowing interactive access to the catalog file identified by CATALOGFILE. Invoking the shell provides a command line prompt after which the following commands (described in alphabetical order) can be entered.

  • add \fBTYPE\fR\fBORIG\fR\fBREPLACE\fR
        Add an entry to the catalog file. TYPE indicates the type of entry. Possible types are: public, system, rewriteSystem, rewriteURI, delegatePublic, delegateSystem, nextCatalog. ORIG is the original reference to be replaced, and REPLACE is the URI of the replacement entity to be used. The --add option will not overwrite CATALOGFILE, outputting to stdout, unless --noout is used. The --add will always take three parameters even if some of the XML catalog constructs will have only a single argument.
  • debug
        Print debugging statements showing the steps xmlcatalog is executing.
  • del \fBVALUE(S)\fR
        Remove the catalog entry corresponding to VALUE(S).
  • dump
        Print the current catalog.
  • exit
        Quit the shell.
  • public \fBPUBLIC-ID\fR
        Execute a Formal Public Identifier look-up of the catalog entry for PUBLIC-ID. The corresponding entry will be output to the command line.
  • quiet
        Stop printing debugging statements.
  • system \fBSYSTEM-ID\fR
        Execute a Formal Public Identifier look-up of the catalog entry for SYSTEM-ID. The corresponding entry will be output to the command line.

6. ENVIRONMENT ▲

  • XML_CATALOG_FILES
        XML catalog behavior can be changed by redirecting queries to the user's own set of catalogs. This can be done by setting the XML_CATALOG_FILES environment variable to a list of catalogs. An empty one should deactivate loading the default /etc/xml/catalog catalog.

7. DIAGNOSTICS ▲

xmlcatalog return codes provide information that can be used when calling it from scripts.

  • 0
        No error
  • 1
        Failed to remove an entry from the catalog
  • 2
        Failed to save to the catalog, check file permissions
  • 3
        Failed to add an entry to the catalog
  • 4
        Failed to look up an entry in the catalog

8. SEE ALSO ▲

libxml(3)

More information can be found at

9. AUTHOR ▲

John Fleck <>.