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', 'delegatePublic', 'delegateSystem'amd
	    'rewriteURI'. 
'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.
	  
--del 'values' filename	    Remove entries from the catalog file
	    
filename matching
	    
'values'. The --del option
	    will not overwrite 
filename, outputing to
	    stdout, unless 
--noout is used.
	  
--noout	    Save output to the named file rather than
	    outputing 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',
	    'delegatePublic' and 'delegateSystem'. 
'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
http://www.xmlsoft.org/libxml web page 
http://www.xmlsoft.org/catalog.htmllibxml    catalog support web page:
http://www.jclark.com/sp/catalog.htmJames Clark's
    
SGML catalog page: 
http://www.oasis-open.org/committees/entity/spec.htmlOASIS    
XML catalog specification: 
