libxml2 (2.12.3)

(root)/
share/
man/
man1/
xmlcatalog.1
XMLCATALOG(1) xmlcatalog Manual XMLCATALOG(1)

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

SYNOPSIS


xmlcatalog [--sgml | --shell | --convert | --create | --del VALUE(S) |
[ --add TYPE ORIG REPLACE | --add FILENAME] | --noout | --no-super-update | [-v | --verbose]]
{CATALOGFILE} {ENTITIES...}

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.

OPTIONS
xmlcatalog accepts the following options (in alphabetical order):

--add TYPE ORIG REPLACE
Add an entry to CATALOGFILE. TYPE indicates the type of entry. Possible types are: public, system, uri,
rewriteSystem, rewriteURI, delegatePublic, delegateSystem, delegateURI, 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 FILENAME
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.

--convert
Convert SGML catalog to XML.

--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 VALUE(S)
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.

Invoking xmlcatalog non-interactively without a designated action (imposed with options like --add) will result
in a lookup of the catalog entry for ENTITIES in the catalog denoted with CATALOGFILE. The corresponding entries
will be output to the command line. This mode of operation, together with --shell mode and non-modifying (i.e.
without --noout) direct actions, allows for a special shortcut of the void CATALOGFILE specification (possibly
expressed as "" in the shell environment) appointing the default system catalog. That simplifies the handling
when its exact location is irrelevant but the respective built-in still needs to be consulted.

SHELL COMMANDS
Invoking xmlcatalog with the --shell CATALOGFILE 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 TYPE ORIG REPLACE
Add an entry to the catalog file. TYPE indicates the type of entry. Possible types are: public, system, uri,
rewriteSystem, rewriteURI, delegatePublic, delegateSystem, delegateURI, 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 VALUE(S)
Remove the catalog entry corresponding to VALUE(S).

dump
Print the current catalog.

exit
Quit the shell.

public PUBLIC-ID
Execute a Formal Public Identifier lookup of the catalog entry for PUBLIC-ID. The corresponding entry will be
output to the command line.

quiet
Stop printing debugging statements.

system SYSTEM-ID
Execute a Formal Public Identifier lookup of the catalog entry for SYSTEM-ID. The corresponding entry will be
output to the command line.

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 space-separated list of catalogs. Use
percent-encoding to escape spaces or other characters. An empty variable should deactivate loading the
default catalog from /etc/xml/catalog or, more specifically, ${sysconfdir}/xml/catalog.

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

SEE ALSO
libxml(3)

More information can be found at

libxml(3) web page https://gitlab.gnome.org/GNOME/libxml2

libxml(3) catalog support web page at https://gitlab.gnome.org/GNOME/libxml2/-/wikis/Catalog-support

• James Clark's SGML catalog page http://www.jclark.com/sp/catalog.htm

• OASIS XML catalog specification http://www.oasis-open.org/committees/entity/spec.html


AUTHOR
John Fleck <jfleck@inkstain.net>
Author.

COPYRIGHT
Copyright © 2001, 2004

libxml2 11/04/2023 XMLCATALOG(1)