xref: /aosp_15_r20/external/libxml2/doc/xmlcatalog.html (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1*7c568831SAndroid Build Coastguard Worker<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmlcatalog</title><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry"><a name="idm1"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>xmlcatalog &#8212;
2*7c568831SAndroid Build Coastguard Worker        Command line tool to parse and manipulate <acronym class="acronym">XML</acronym>
3*7c568831SAndroid Build Coastguard Worker        or <acronym class="acronym">SGML</acronym> catalog files.
4*7c568831SAndroid Build Coastguard Worker    </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">xmlcatalog</code>  [ <code class="option">--sgml</code>  |   <code class="option">--shell</code>  |   <code class="option">--convert</code>  |   <code class="option">--create</code>  |   <code class="option">--del <em class="replaceable"><code>VALUE(S)</code></em></code>  |
5*7c568831SAndroid Build Coastguard Worker            [
6*7c568831SAndroid Build Coastguard Worker                    <code class="option">--add
7*7c568831SAndroid Build Coastguard Worker                     <em class="replaceable"><code>TYPE</code></em>
8*7c568831SAndroid Build Coastguard Worker                     <em class="replaceable"><code>ORIG</code></em>
9*7c568831SAndroid Build Coastguard Worker                     <em class="replaceable"><code>REPLACE</code></em>
10*7c568831SAndroid Build Coastguard Worker                    </code>
11*7c568831SAndroid Build Coastguard Worker                  |   <code class="option">--add <em class="replaceable"><code>FILENAME</code></em></code> ]
12*7c568831SAndroid Build Coastguard Worker          |   <code class="option">--noout</code>  |   <code class="option">--no-super-update</code>  |
13*7c568831SAndroid Build Coastguard Worker            [ <code class="option">-v</code>  |   <code class="option">--verbose</code> ]
14*7c568831SAndroid Build Coastguard Worker         ] {<em class="replaceable"><code>CATALOGFILE</code></em>} {<em class="replaceable"><code>ENTITIES</code></em>...}</p></div></div><div class="refsect1"><a name="description"></a><h2>DESCRIPTION</h2><p>
15*7c568831SAndroid Build Coastguard Worker        <span class="command"><strong>xmlcatalog</strong></span> is a command line application allowing users to monitor and
16*7c568831SAndroid Build Coastguard Worker        manipulate <acronym class="acronym">XML</acronym> and <acronym class="acronym">SGML</acronym> catalogs. It
17*7c568831SAndroid Build Coastguard Worker        is included in <span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span>.
18*7c568831SAndroid Build Coastguard Worker    </p><p>
19*7c568831SAndroid Build Coastguard Worker        Its functions can be invoked from a single command from the command line,
20*7c568831SAndroid Build Coastguard Worker        or it can perform multiple functions in interactive mode. It can operate
21*7c568831SAndroid Build Coastguard Worker        on both <acronym class="acronym">XML</acronym> and <acronym class="acronym">SGML</acronym> files.
22*7c568831SAndroid Build Coastguard Worker    </p></div><div class="refsect1"><a name="options"></a><h2>OPTIONS</h2><p>
23*7c568831SAndroid Build Coastguard Worker        <span class="command"><strong>xmlcatalog</strong></span> accepts the following options (in alphabetical order):
24*7c568831SAndroid Build Coastguard Worker    </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
25*7c568831SAndroid Build Coastguard Worker                <code class="option">--add
26*7c568831SAndroid Build Coastguard Worker                 <em class="replaceable"><code>TYPE</code></em>
27*7c568831SAndroid Build Coastguard Worker                 <em class="replaceable"><code>ORIG</code></em>
28*7c568831SAndroid Build Coastguard Worker                 <em class="replaceable"><code>REPLACE</code></em>
29*7c568831SAndroid Build Coastguard Worker                </code>
30*7c568831SAndroid Build Coastguard Worker            </span></dt><dd><p>
31*7c568831SAndroid Build Coastguard Worker                    Add an entry to <code class="filename">CATALOGFILE</code>. <em class="replaceable"><code>TYPE</code></em>
32*7c568831SAndroid Build Coastguard Worker                    indicates the type of entry. Possible types are: <span class="simplelist"><em class="parameter"><code>public</code></em>, <em class="parameter"><code>system</code></em>, <em class="parameter"><code>uri</code></em>, <em class="parameter"><code>rewriteSystem</code></em>, <em class="parameter"><code>rewriteURI</code></em>, <em class="parameter"><code>delegatePublic</code></em>, <em class="parameter"><code>delegateSystem</code></em>, <em class="parameter"><code>delegateURI</code></em>, <em class="parameter"><code>nextCatalog</code></em></span>. <em class="replaceable"><code>ORIG</code></em> is the original
33*7c568831SAndroid Build Coastguard Worker                    reference to be replaced, and <em class="replaceable"><code>REPLACE</code></em>
34*7c568831SAndroid Build Coastguard Worker                    is the <acronym class="acronym">URI</acronym> of the replacement entity to be
35*7c568831SAndroid Build Coastguard Worker                    used. The <code class="option">--add</code> option will not overwrite
36*7c568831SAndroid Build Coastguard Worker                    <code class="filename">CATALOGFILE</code>, outputting
37*7c568831SAndroid Build Coastguard Worker                    to <code class="filename">stdout</code>, unless
38*7c568831SAndroid Build Coastguard Worker                    <code class="option">--noout</code> is used. The <code class="option">--add</code> will
39*7c568831SAndroid Build Coastguard Worker                    always take three parameters even if some of the <acronym class="acronym">XML</acronym>
40*7c568831SAndroid Build Coastguard Worker                    catalog constructs will have only a single argument.
41*7c568831SAndroid Build Coastguard Worker                </p></dd><dt><span class="term"><code class="option">--add <em class="replaceable"><code>FILENAME</code></em></code></span></dt><dd><p>
42*7c568831SAndroid Build Coastguard Worker                    If the <code class="option">--add</code> option is used following
43*7c568831SAndroid Build Coastguard Worker                    the <code class="option">--sgml</code> option, only a single argument,
44*7c568831SAndroid Build Coastguard Worker                    a <em class="replaceable"><code>FILENAME</code></em>, is used. This is used to add
45*7c568831SAndroid Build Coastguard Worker                    the name of a catalog file to an <acronym class="acronym">SGML</acronym> supercatalog,
46*7c568831SAndroid Build Coastguard Worker                    a file that contains references to other included <acronym class="acronym">SGML</acronym>
47*7c568831SAndroid Build Coastguard Worker                    catalog files.
48*7c568831SAndroid Build Coastguard Worker                </p></dd><dt><span class="term"><code class="option">--convert</code></span></dt><dd><p>
49*7c568831SAndroid Build Coastguard Worker                    Convert SGML catalog to XML.
50*7c568831SAndroid Build Coastguard Worker                </p></dd><dt><span class="term"><code class="option">--create</code></span></dt><dd><p>
51*7c568831SAndroid Build Coastguard Worker                    Create a new <acronym class="acronym">XML</acronym> catalog. Outputs
52*7c568831SAndroid Build Coastguard Worker                    to <code class="filename">stdout</code>,
53*7c568831SAndroid Build Coastguard Worker                    ignoring <em class="replaceable"><code>filename</code></em> unless <code class="option">--noout</code> is
54*7c568831SAndroid Build Coastguard Worker                    used, in which case it creates a new catalog
55*7c568831SAndroid Build Coastguard Worker                    file <em class="replaceable"><code>filename</code></em>.
56*7c568831SAndroid Build Coastguard Worker                </p></dd><dt><span class="term"><code class="option">--del <em class="replaceable"><code>VALUE(S)</code></em></code></span></dt><dd><p>
57*7c568831SAndroid Build Coastguard Worker                    Remove entries from <em class="replaceable"><code>CATALOGFILE</code></em>
58*7c568831SAndroid Build Coastguard Worker                    matching <em class="replaceable"><code>VALUE(S)</code></em>. The <code class="option">--del</code>
59*7c568831SAndroid Build Coastguard Worker                    option will not overwrite <em class="replaceable"><code>CATALOGFILE</code></em>,
60*7c568831SAndroid Build Coastguard Worker                    outputting to <code class="filename">stdout</code>,
61*7c568831SAndroid Build Coastguard Worker                    unless <code class="option">--noout</code> is used.
62*7c568831SAndroid Build Coastguard Worker                </p></dd><dt><span class="term"><code class="option">--noout</code></span></dt><dd><p>
63*7c568831SAndroid Build Coastguard Worker                    Save output to the named file rather than outputting
64*7c568831SAndroid Build Coastguard Worker                    to <code class="filename">stdout</code>.
65*7c568831SAndroid Build Coastguard Worker                </p></dd><dt><span class="term"><code class="option">--no-super-update</code></span></dt><dd><p>
66*7c568831SAndroid Build Coastguard Worker                    Do not update the <acronym class="acronym">SGML</acronym> super catalog.
67*7c568831SAndroid Build Coastguard Worker                </p></dd><dt><span class="term"><code class="option">--shell</code></span></dt><dd><p>
68*7c568831SAndroid Build Coastguard Worker                    Run a shell allowing interactive queries on catalog
69*7c568831SAndroid Build Coastguard Worker                    file <em class="replaceable"><code>CATALOGFILE</code></em>. For the set of available
70*7c568831SAndroid Build Coastguard Worker                    commands see <a class="xref" href="#shell" title="SHELL COMMANDS">the section called &#8220;SHELL COMMANDS&#8221;</a>.
71*7c568831SAndroid Build Coastguard Worker                </p></dd><dt><span class="term"><code class="option">--sgml</code></span></dt><dd><p>
72*7c568831SAndroid Build Coastguard Worker                    Uses <acronym class="acronym">SGML</acronym> super catalogs for <code class="option">--add</code>
73*7c568831SAndroid Build Coastguard Worker                    and <code class="option">--del</code> options.
74*7c568831SAndroid Build Coastguard Worker                </p></dd><dt><span class="term"><code class="option">-v</code>, </span><span class="term"><code class="option">--verbose</code></span></dt><dd><p>Output debugging information.</p></dd></dl></div><p>
75*7c568831SAndroid Build Coastguard Worker        Invoking <span class="command"><strong>xmlcatalog</strong></span> non-interactively without a designated action
76*7c568831SAndroid Build Coastguard Worker        (imposed with options like <code class="option">--add</code>) will result in a lookup
77*7c568831SAndroid Build Coastguard Worker        of the catalog entry for <em class="replaceable"><code>ENTITIES</code></em> in the
78*7c568831SAndroid Build Coastguard Worker        catalog denoted with <em class="replaceable"><code>CATALOGFILE</code></em>. The
79*7c568831SAndroid Build Coastguard Worker        corresponding entries will be output to the command line. This mode of
80*7c568831SAndroid Build Coastguard Worker        operation, together with <code class="option">--shell</code> mode and non-modifying
81*7c568831SAndroid Build Coastguard Worker        (i.e. without <code class="option">--noout</code>) direct actions, allows for
82*7c568831SAndroid Build Coastguard Worker        a special shortcut of the void <em class="replaceable"><code>CATALOGFILE</code></em>
83*7c568831SAndroid Build Coastguard Worker        specification (possibly expressed as "" in the shell
84*7c568831SAndroid Build Coastguard Worker        environment) appointing the default system catalog. That simplifies the
85*7c568831SAndroid Build Coastguard Worker        handling when its exact location is irrelevant but the respective built-in
86*7c568831SAndroid Build Coastguard Worker        still needs to be consulted.
87*7c568831SAndroid Build Coastguard Worker    </p></div><div class="refsect1"><a name="shell"></a><h2>SHELL COMMANDS</h2><p>
88*7c568831SAndroid Build Coastguard Worker        Invoking <span class="command"><strong>xmlcatalog</strong></span> with
89*7c568831SAndroid Build Coastguard Worker        the <code class="option">--shell <em class="replaceable"><code>CATALOGFILE</code></em></code> option opens
90*7c568831SAndroid Build Coastguard Worker        a command line shell allowing interactive access to the catalog file
91*7c568831SAndroid Build Coastguard Worker        identified by <em class="replaceable"><code>CATALOGFILE</code></em>. Invoking the shell
92*7c568831SAndroid Build Coastguard Worker        provides a command line prompt after which the following commands (described in
93*7c568831SAndroid Build Coastguard Worker        alphabetical order) can be entered.
94*7c568831SAndroid Build Coastguard Worker    </p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
95*7c568831SAndroid Build Coastguard Worker                <code class="option">add
96*7c568831SAndroid Build Coastguard Worker                 <em class="replaceable"><code>TYPE</code></em>
97*7c568831SAndroid Build Coastguard Worker                 <em class="replaceable"><code>ORIG</code></em>
98*7c568831SAndroid Build Coastguard Worker                 <em class="replaceable"><code>REPLACE</code></em>
99*7c568831SAndroid Build Coastguard Worker                </code>
100*7c568831SAndroid Build Coastguard Worker            </span></dt><dd><p>
101*7c568831SAndroid Build Coastguard Worker                    Add an entry to the catalog file. <em class="replaceable"><code>TYPE</code></em>
102*7c568831SAndroid Build Coastguard Worker                    indicates the type of entry. Possible types are: <span class="simplelist"><em class="parameter"><code>public</code></em>, <em class="parameter"><code>system</code></em>, <em class="parameter"><code>uri</code></em>, <em class="parameter"><code>rewriteSystem</code></em>, <em class="parameter"><code>rewriteURI</code></em>, <em class="parameter"><code>delegatePublic</code></em>, <em class="parameter"><code>delegateSystem</code></em>, <em class="parameter"><code>delegateURI</code></em>, <em class="parameter"><code>nextCatalog</code></em></span>. <em class="replaceable"><code>ORIG</code></em> is the original
103*7c568831SAndroid Build Coastguard Worker                    reference to be replaced, and <em class="replaceable"><code>REPLACE</code></em>
104*7c568831SAndroid Build Coastguard Worker                    is the <acronym class="acronym">URI</acronym> of the replacement entity to be
105*7c568831SAndroid Build Coastguard Worker                    used. The <code class="option">--add</code> option will not overwrite
106*7c568831SAndroid Build Coastguard Worker                    <code class="filename">CATALOGFILE</code>, outputting
107*7c568831SAndroid Build Coastguard Worker                    to <code class="filename">stdout</code>, unless
108*7c568831SAndroid Build Coastguard Worker                    <code class="option">--noout</code> is used. The <code class="option">--add</code> will
109*7c568831SAndroid Build Coastguard Worker                    always take three parameters even if some of the <acronym class="acronym">XML</acronym>
110*7c568831SAndroid Build Coastguard Worker                    catalog constructs will have only a single argument.
111*7c568831SAndroid Build Coastguard Worker                </p></dd><dt><span class="term"><code class="option">debug</code></span></dt><dd><p>
112*7c568831SAndroid Build Coastguard Worker                    Print debugging statements showing the steps <span class="command"><strong>xmlcatalog</strong></span> is executing.
113*7c568831SAndroid Build Coastguard Worker                </p></dd><dt><span class="term"><code class="option">del <em class="replaceable"><code>VALUE(S)</code></em></code></span></dt><dd><p>
114*7c568831SAndroid Build Coastguard Worker                    Remove the catalog entry corresponding to <em class="replaceable"><code>VALUE(S)</code></em>.
115*7c568831SAndroid Build Coastguard Worker                </p></dd><dt><span class="term"><code class="option">dump</code></span></dt><dd><p>Print the current catalog.</p></dd><dt><span class="term"><code class="option">exit</code></span></dt><dd><p>Quit the shell.</p></dd><dt><span class="term"><code class="option">public <em class="replaceable"><code>PUBLIC-ID</code></em></code></span></dt><dd><p>
116*7c568831SAndroid Build Coastguard Worker                    Execute a Formal Public Identifier lookup of the catalog entry
117*7c568831SAndroid Build Coastguard Worker                    for <em class="replaceable"><code>PUBLIC-ID</code></em>. The corresponding entry will be
118*7c568831SAndroid Build Coastguard Worker                    output to the command line.
119*7c568831SAndroid Build Coastguard Worker                </p></dd><dt><span class="term"><code class="option">quiet</code></span></dt><dd><p>Stop printing debugging statements.</p></dd><dt><span class="term"><code class="option">system <em class="replaceable"><code>SYSTEM-ID</code></em></code></span></dt><dd><p>
120*7c568831SAndroid Build Coastguard Worker                    Execute a Formal Public Identifier lookup of the catalog entry
121*7c568831SAndroid Build Coastguard Worker                    for <em class="replaceable"><code>SYSTEM-ID</code></em>. The corresponding entry will be
122*7c568831SAndroid Build Coastguard Worker                    output to the command line.
123*7c568831SAndroid Build Coastguard Worker                </p></dd></dl></div></div><div class="refsect1"><a name="environment"></a><h2>ENVIRONMENT</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="envar">XML_CATALOG_FILES</code></span></dt><dd><p><acronym class="acronym">XML</acronym> catalog behavior can be changed by redirecting
124*7c568831SAndroid Build Coastguard Worker                    queries to the user's own set of catalogs. This can be done by setting
125*7c568831SAndroid Build Coastguard Worker                    the <code class="envar">XML_CATALOG_FILES</code> environment variable to a space-separated
126*7c568831SAndroid Build Coastguard Worker                    list of catalogs. Use percent-encoding to escape spaces or other characters.
127*7c568831SAndroid Build Coastguard Worker                    An empty variable should deactivate loading the default catalog from
128*7c568831SAndroid Build Coastguard Worker                    <code class="filename">/etc/xml/catalog</code> or, more specifically,
129*7c568831SAndroid Build Coastguard Worker                    <code class="filename">${sysconfdir}/xml/catalog</code>.
130*7c568831SAndroid Build Coastguard Worker                </p></dd></dl></div></div><div class="refsect1"><a name="diagnostics"></a><h2>DIAGNOSTICS</h2><p>
131*7c568831SAndroid Build Coastguard Worker        <span class="command"><strong>xmlcatalog</strong></span> return codes provide information that can be used when
132*7c568831SAndroid Build Coastguard Worker        calling it from scripts.
133*7c568831SAndroid Build Coastguard Worker    </p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="errorcode">0</span></span></dt><dd><p>No error</p></dd><dt><span class="term"><span class="errorcode">1</span></span></dt><dd><p>Failed to remove an entry from the catalog</p></dd><dt><span class="term"><span class="errorcode">2</span></span></dt><dd><p>Failed to save to the catalog, check file permissions</p></dd><dt><span class="term"><span class="errorcode">3</span></span></dt><dd><p>Failed to add an entry to the catalog</p></dd><dt><span class="term"><span class="errorcode">4</span></span></dt><dd><p>Failed to look up an entry in the catalog</p></dd></dl></div></div><div class="refsect1"><a name="seealso"></a><h2>SEE ALSO</h2><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span>
134*7c568831SAndroid Build Coastguard Worker    </p><p>
135*7c568831SAndroid Build Coastguard Worker        More information can be found at
136*7c568831SAndroid Build Coastguard Worker        </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> web page <a class="ulink" href="https://gitlab.gnome.org/GNOME/libxml2" target="_top">https://gitlab.gnome.org/GNOME/libxml2</a>
137*7c568831SAndroid Build Coastguard Worker                </p></li><li class="listitem"><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> catalog support web page
138*7c568831SAndroid Build Coastguard Worker                    at <a class="ulink" href="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/Catalog-support" target="_top">https://gitlab.gnome.org/GNOME/libxml2/-/wikis/Catalog-support</a>
139*7c568831SAndroid Build Coastguard Worker                </p></li><li class="listitem"><p>James Clark's <acronym class="acronym">SGML</acronym> catalog
140*7c568831SAndroid Build Coastguard Worker                    page <a class="ulink" href="http://www.jclark.com/sp/catalog.htm" target="_top">http://www.jclark.com/sp/catalog.htm</a>
141*7c568831SAndroid Build Coastguard Worker                </p></li><li class="listitem"><p><acronym class="acronym">OASIS</acronym> <acronym class="acronym">XML</acronym> catalog specification
142*7c568831SAndroid Build Coastguard Worker                    <a class="ulink" href="http://www.oasis-open.org/committees/entity/spec.html" target="_top">http://www.oasis-open.org/committees/entity/spec.html</a>
143*7c568831SAndroid Build Coastguard Worker                </p></li></ul></div><p>
144*7c568831SAndroid Build Coastguard Worker    </p></div></div></body></html>
145