XMLCATALOG(1)

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

SYNOPSIS

xmlcatalog [--shell | --create | --add type orig replace | --del values | --noout | --verbose] [catalogfile] [entities]

INTRODUCTION

 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.

COMMAND LINE OPTIONS

--shell filename
    Run a shell allowing interactive queries on catalog file filename.

--create filename
    Create a new XML catalog. Outputs to stdout, ignoring filename unless --noout is used, in which case it creates a new catalog file filename.

--add 'type' 'orig' 'replace' filename
    Add an entry to catalog file filename. type indicates the type of entry. Possible types are 'public', 'system', 'rewriteSystem', 'rewriteURI', 'delegatePublic', 'delegateSystem', 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, 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. 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.

--del 'values' filename
    Remove entries from the catalog file filename matching 'values'. The --del option will not overwrite filename, outputting to stdout, unless --noout is used.

--noout
    Save output to the named file rather than outputting to stdout.

--sgml
    Uses SGML Super catalogs for --add and --del options

-v or --verbose
    output debugging information.

SHELL COMMANDS

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.

public 'PublicID'
    Execute a public identifier lookup of the catalog entry for 'PublicID'. The corresponding entry will be output to the command line.

system 'SystemID'
    Execute a public identifier lookup of the catalog entry for 'SystemID'. The corresponding entry will be output to the command line.

add  'type' 'orig' 'replace'
    Add an entry to the catalog file. type indicates the type of entry. Possible types are 'public', 'system', 'rewriteSystem', 'rewriteURI', 'delegatePublic', 'delegateSystem', and 'nextCatalog'. 'orig' is the original reference to be replaced, and 'replace' is the URI of the replacement entity to be used.

del 'values'
    Remove the catalog entry corresponding to 'values'.

dump
    Print the current catalog.

debug
    Print debugging statements showing the steps xmlcatalog is executing.

quiet
    Stop printing debugging statements.

exit
    Quit the shell.

RETURN VALUES

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

CATALOGS

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.

REFERENCES

libxml web page: http://www.xmlsoft.org/

libxml catalog support web page: http://www.xmlsoft.org/catalog.html

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.