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.
xmlcatalog
accepts the following options (in alphabetical order):
--add TYPEORIGREPLACE
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 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.
--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 lqSHELL COMMANDSrq.
--sgml
Uses
SGML
super catalogs for
--add
and
--del
options.
-v, --verbose
Output debugging information.
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 TYPEORIGREPLACE
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 VALUE(S)
Remove the catalog entry corresponding to
VALUE(S).
dump
Print the current catalog.
exit
Quit the shell.
public PUBLIC-ID
Execute a 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 public identifier lookup of the catalog entry for
SYSTEM-ID. The corresponding entry will be output to the command line.
ENVIRONMENT
XML_CATALOG_FILES
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
default catalog.
DIAGNOSTICS
xmlcatalog's 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