xmlcatalog — Command line tool to parse and manipulate XML or SGML catalog files.
xmlcatalog [[--shell] | [--create] | [--add type orig replace] | [--del values] | [--noout] | [--verbose]] [catalogfile] [entities]
xmlcatalog is a command line application allowing users to monitor and manipulate XML and SGML catalogs. It is included in libxml2.
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.
Add an entry to catalog file filename. type indicates the type of entry. Possible types are 'public', 'system', 'uri', 'rewriteSystem', 'rewriteURI', 'delegatePublic', 'delegateSystem', 'delegateURI' and '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 filename, outputing 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.
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.
Invoking xmlcatalog with the --shell filename option opens a command line shell allowing interactive access to the catalog file identified by filename. Invoking the shell provides a command line prompt after which commands can be entered.
xmlcatalog's return codes provide information that can be used when calling it from scripts.
0: normal
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 lookup and entry in the catalog
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.