<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmlcatalog</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en"><a name="id2431614"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><h2>Name</h2><p>xmlcatalog &#8212; Command line tool to parse and manipulate <span class="acronym">XML</span> or
      <span class="acronym">SGML</span> catalog files.</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><tt class="command">xmlcatalog</tt>  [[--shell] |  [--create] |  [--add <i class="replaceable"><tt>type</tt></i>
	  <i class="replaceable"><tt>orig</tt></i> <i class="replaceable"><tt>replace</tt></i>] |  [--del <i class="replaceable"><tt>values</tt></i>] |  [--noout] |  [--verbose]] [<tt class="option"><i class="replaceable"><tt>catalogfile</tt></i></tt>] [<tt class="option"><i class="replaceable"><tt>entities</tt></i></tt>]</p></div></div><div class="refsect1" lang="en"><a name="introduction"></a><h2>Introduction</h2><p>
      <span class="application">xmlcatalog</span> is a command line application
      allowing users to monitor and manipulate <span class="acronym">XML</span> and
      <span class="acronym">SGML</span> catalogs. It is included in
      <span class="application">libxml2</span>.
    </p><p>
      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 <span class="acronym">XML</span> and <span class="acronym">SGML</span> files.
    </p></div><div class="refsect1" lang="en"><a name="cloptions"></a><h2>Command Line Options</h2><div class="variablelist"><dl><dt><span class="term"><tt class="option">--shell</tt> <i class="replaceable"><tt>filename</tt></i></span></dt><dd>
	    Run a shell
	    allowing interactive queries on catalog file
	    <i class="replaceable"><tt>filename</tt></i>.
	  </dd><dt><span class="term"><tt class="option">--create</tt> <i class="replaceable"><tt>filename</tt></i></span></dt><dd>
	    Create a new
	    <span class="acronym">XML</span> catalog. Outputs to stdout, ignoring
	    <i class="replaceable"><tt>filename</tt></i> unless <tt class="option">--noout</tt> is
	    used, in which case it creates a new catalog file
	    <i class="replaceable"><tt>filename</tt></i>.
	  </dd><dt><span class="term"><tt class="option">--add</tt> <i class="replaceable"><tt>'type'</tt></i> <i class="replaceable"><tt>'orig'</tt></i> <i class="replaceable"><tt>'replace'</tt></i> <i class="replaceable"><tt>filename</tt></i></span></dt><dd><p>
	    Add an entry to catalog file
	    <tt class="filename">filename</tt>. <i class="replaceable"><tt>type</tt></i>
	    indicates the type of entry. Possible types are 'public', 'system', 'uri',
	    'rewriteSystem', 'rewriteURI', 'delegatePublic', 'delegateSystem',
	    'delegateURI' and 'nextCatalog'. <i class="replaceable"><tt>'orig'</tt></i> is the original
	    reference to be replaced, and <i class="replaceable"><tt>'replace'</tt></i>
	    is the <span class="acronym">URI</span> of the replacement entity to be
	    used. The <tt class="option">--add</tt> option will not overwrite
	    <i class="replaceable"><tt>filename</tt></i>, outputing to stdout, unless
	    <tt class="option">--noout</tt> is used. The <tt class="option">--add</tt> will
	    always take three parameters even if some of the
	    <span class="acronym">XML</span> catalog constructs will have only a single
	    argument.

	  </p><p>
	    If the <tt class="option">--add</tt> option is used following the
	    <tt class="option">--sgml</tt> option, only a single argument, a
	    <i class="replaceable"><tt>filename</tt></i>, is used. This is used to add
	    the name of a catalog file to an <span class="acronym">SGML</span>
	    supercatalog, a file that contains references to other included
	    <span class="acronym">SGML</span> catalog files.
	  </p></dd><dt><span class="term"><tt class="option">--del</tt> <i class="replaceable"><tt>'values'</tt></i> <i class="replaceable"><tt>filename</tt></i></span></dt><dd>
	    Remove entries from the catalog file
	    <i class="replaceable"><tt>filename</tt></i> matching
	    <i class="replaceable"><tt>'values'</tt></i>. The <tt class="option">--del</tt> option
	    will not overwrite <i class="replaceable"><tt>filename</tt></i>, outputing to
	    stdout, unless <tt class="option">--noout</tt> is used.
	  </dd><dt><span class="term"><tt class="option">--noout</tt></span></dt><dd>
	    Save output to the named file rather than
	    outputing to stdout.
	  </dd><dt><span class="term"><tt class="option">--sgml</tt></span></dt><dd>
	    Uses SGML Super catalogs for --add and --del options
	  </dd><dt><span class="term"><tt class="option">-v</tt> or <tt class="option">--verbose</tt></span></dt><dd>
	    output debugging
	    information.
	  </dd></dl></div></div><div class="refsect1" lang="en"><a name="shell"></a><h2>Shell Commands</h2><p>Invoking <span class="application">xmlcatalog</span> with the
      <tt class="option">--shell</tt> <i class="replaceable"><tt>filename</tt></i> option opens
    a command line shell allowing interactive access to the catalog file
      identified by <i class="replaceable"><tt>filename</tt></i>. Invoking the shell
    provides a command line prompt after which commands can be entered.
    </p><div class="variablelist"><dl><dt><span class="term"><tt class="option">public</tt> <i class="replaceable"><tt>'PublicID'</tt></i></span></dt><dd>
	    Execute a
	    public identifier lookup of the catalog entry for
	    <i class="replaceable"><tt>'PublicID'</tt></i>. The corresponding entry will be
	    output to the command line.
	  </dd><dt><span class="term"><tt class="option">system</tt> <i class="replaceable"><tt>'SystemID'</tt></i></span></dt><dd>
	    Execute a
	    public identifier lookup of the catalog entry for
	    <i class="replaceable"><tt>'SystemID'</tt></i>. The corresponding entry will be
	    output to the command line.
	  </dd><dt><span class="term"><tt class="option">add </tt> <i class="replaceable"><tt>'type'</tt></i> <i class="replaceable"><tt>'orig'</tt></i> <i class="replaceable"><tt>'replace'</tt></i></span></dt><dd>
	    Add an entry to the catalog
	    file. <i class="replaceable"><tt>type</tt></i> indicates the type of
	    entry. Possible types are 'public', 'system', 'uri', 'rewriteSystem', 'rewriteURI',
	    'delegatePublic', 'delegateSystem', 'delegateURI' and 'nextCatalog'. <i class="replaceable"><tt>'orig'</tt></i>
	    is the original reference to  be replaced, and
	    <i class="replaceable"><tt>'replace'</tt></i> is the <span class="acronym">URI</span> of the
	    replacement entity to be used.
	  </dd><dt><span class="term"><tt class="option">del</tt> <i class="replaceable"><tt>'values'</tt></i></span></dt><dd>
	    Remove the
	    catalog entry corresponding to <i class="replaceable"><tt>'values'</tt></i>.
	  </dd><dt><span class="term"><tt class="option">dump</tt></span></dt><dd>
	    Print the current catalog.
	  </dd><dt><span class="term"><tt class="option">debug</tt></span></dt><dd>
	    Print debugging statements showing the steps
	    <span class="application">xmlcatalog</span> is executing.
	  </dd><dt><span class="term"><tt class="option">quiet</tt></span></dt><dd>
	    Stop printing debugging statements.
	  </dd><dt><span class="term"><tt class="option">exit</tt></span></dt><dd>
	    Quit the shell.
	  </dd></dl></div></div><div class="refsect1" lang="en"><a name="return"></a><h2>Return values</h2><p><span class="application">xmlcatalog</span>'s return codes provide
    information that can be used when calling it from scripts.</p><p>0: normal</p><p>1: Failed to remove an entry from the catalog</p><p>2: Failed to save to the catalog, check file permissions</p><p>3: Failed to add an entry to the catalog</p><p>4: Failed to lookup and entry in the catalog</p></div><div class="refsect1" lang="en"><h2>Catalogs</h2><p>Catalog behavior can be changed by redirecting
     queries to the user's own set of catalogs. This can be done by setting the
     <tt class="varname">XML_CATALOG_FILES</tt> environment variable to a list of
     catalogs. An empty one should deactivate loading the default
      <tt class="filename">/etc/xml/catalog</tt> default catalog.</p></div><div class="refsect1" lang="en"><h2>References</h2><p><a href="http://www.xmlsoft.org/" target="_top">libxml web page</a></p><p><a href="http://www.xmlsoft.org/catalog.html" target="_top"><span class="application">libxml</span>
    catalog support web page:</a></p><p><a href="http://www.jclark.com/sp/catalog.htm" target="_top">James Clark's
    <span class="acronym">SGML</span> catalog page:</a></p><p><a href="http://www.oasis-open.org/committees/entity/spec.html" target="_top"><span class="acronym">OASIS</span>
    <span class="acronym">XML</span> catalog specification: </a></p></div></div></body></html>
