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 <>.