1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2024-12-25 23:21:26 +03:00
libxml2/doc/xmlcatalog.html
2023-04-26 21:22:17 +02:00

145 lines
16 KiB
HTML

<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;
Command line tool to parse and manipulate <acronym class="acronym">XML</acronym>
or <acronym class="acronym">SGML</acronym> catalog files.
</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> |
[
<code class="option">--add
<em class="replaceable"><code>TYPE</code></em>
<em class="replaceable"><code>ORIG</code></em>
<em class="replaceable"><code>REPLACE</code></em>
</code>
| <code class="option">--add <em class="replaceable"><code>FILENAME</code></em></code> ]
| <code class="option">--noout</code> | <code class="option">--no-super-update</code> |
[ <code class="option">-v</code> | <code class="option">--verbose</code> ]
] {<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>
<span class="command"><strong>xmlcatalog</strong></span> is a command line application allowing users to monitor and
manipulate <acronym class="acronym">XML</acronym> and <acronym class="acronym">SGML</acronym> catalogs. It
is included in <span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</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 <acronym class="acronym">XML</acronym> and <acronym class="acronym">SGML</acronym> files.
</p></div><div class="refsect1"><a name="options"></a><h2>OPTIONS</h2><p>
<span class="command"><strong>xmlcatalog</strong></span> accepts the following options (in alphabetical order):
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
<code class="option">--add
<em class="replaceable"><code>TYPE</code></em>
<em class="replaceable"><code>ORIG</code></em>
<em class="replaceable"><code>REPLACE</code></em>
</code>
</span></dt><dd><p>
Add an entry to <code class="filename">CATALOGFILE</code>. <em class="replaceable"><code>TYPE</code></em>
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
reference to be replaced, and <em class="replaceable"><code>REPLACE</code></em>
is the <acronym class="acronym">URI</acronym> of the replacement entity to be
used. The <code class="option">--add</code> option will not overwrite
<code class="filename">CATALOGFILE</code>, outputting
to <code class="filename">stdout</code>, unless
<code class="option">--noout</code> is used. The <code class="option">--add</code> will
always take three parameters even if some of the <acronym class="acronym">XML</acronym>
catalog constructs will have only a single argument.
</p></dd><dt><span class="term"><code class="option">--add <em class="replaceable"><code>FILENAME</code></em></code></span></dt><dd><p>
If the <code class="option">--add</code> option is used following
the <code class="option">--sgml</code> option, only a single argument,
a <em class="replaceable"><code>FILENAME</code></em>, is used. This is used to add
the name of a catalog file to an <acronym class="acronym">SGML</acronym> supercatalog,
a file that contains references to other included <acronym class="acronym">SGML</acronym>
catalog files.
</p></dd><dt><span class="term"><code class="option">--convert</code></span></dt><dd><p>
Convert SGML catalog to XML.
</p></dd><dt><span class="term"><code class="option">--create</code></span></dt><dd><p>
Create a new <acronym class="acronym">XML</acronym> catalog. Outputs
to <code class="filename">stdout</code>,
ignoring <em class="replaceable"><code>filename</code></em> unless <code class="option">--noout</code> is
used, in which case it creates a new catalog
file <em class="replaceable"><code>filename</code></em>.
</p></dd><dt><span class="term"><code class="option">--del <em class="replaceable"><code>VALUE(S)</code></em></code></span></dt><dd><p>
Remove entries from <em class="replaceable"><code>CATALOGFILE</code></em>
matching <em class="replaceable"><code>VALUE(S)</code></em>. The <code class="option">--del</code>
option will not overwrite <em class="replaceable"><code>CATALOGFILE</code></em>,
outputting to <code class="filename">stdout</code>,
unless <code class="option">--noout</code> is used.
</p></dd><dt><span class="term"><code class="option">--noout</code></span></dt><dd><p>
Save output to the named file rather than outputting
to <code class="filename">stdout</code>.
</p></dd><dt><span class="term"><code class="option">--no-super-update</code></span></dt><dd><p>
Do not update the <acronym class="acronym">SGML</acronym> super catalog.
</p></dd><dt><span class="term"><code class="option">--shell</code></span></dt><dd><p>
Run a shell allowing interactive queries on catalog
file <em class="replaceable"><code>CATALOGFILE</code></em>. For the set of available
commands see <a class="xref" href="#shell" title="SHELL COMMANDS">the section called &#8220;SHELL COMMANDS&#8221;</a>.
</p></dd><dt><span class="term"><code class="option">--sgml</code></span></dt><dd><p>
Uses <acronym class="acronym">SGML</acronym> super catalogs for <code class="option">--add</code>
and <code class="option">--del</code> options.
</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>
Invoking <span class="command"><strong>xmlcatalog</strong></span> non-interactively without a designated action
(imposed with options like <code class="option">--add</code>) will result in a lookup
of the catalog entry for <em class="replaceable"><code>ENTITIES</code></em> in the
catalog denoted with <em class="replaceable"><code>CATALOGFILE</code></em>. The
corresponding entries will be output to the command line. This mode of
operation, together with <code class="option">--shell</code> mode and non-modifying
(i.e. without <code class="option">--noout</code>) direct actions, allows for
a special shortcut of the void <em class="replaceable"><code>CATALOGFILE</code></em>
specification (possibly expressed as "" in the shell
environment) appointing the default system catalog. That simplifies the
handling when its exact location is irrelevant but the respective built-in
still needs to be consulted.
</p></div><div class="refsect1"><a name="shell"></a><h2>SHELL COMMANDS</h2><p>
Invoking <span class="command"><strong>xmlcatalog</strong></span> with
the <code class="option">--shell <em class="replaceable"><code>CATALOGFILE</code></em></code> option opens
a command line shell allowing interactive access to the catalog file
identified by <em class="replaceable"><code>CATALOGFILE</code></em>. Invoking the shell
provides a command line prompt after which the following commands (described in
alphabetical order) can be entered.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
<code class="option">add
<em class="replaceable"><code>TYPE</code></em>
<em class="replaceable"><code>ORIG</code></em>
<em class="replaceable"><code>REPLACE</code></em>
</code>
</span></dt><dd><p>
Add an entry to the catalog file. <em class="replaceable"><code>TYPE</code></em>
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
reference to be replaced, and <em class="replaceable"><code>REPLACE</code></em>
is the <acronym class="acronym">URI</acronym> of the replacement entity to be
used. The <code class="option">--add</code> option will not overwrite
<code class="filename">CATALOGFILE</code>, outputting
to <code class="filename">stdout</code>, unless
<code class="option">--noout</code> is used. The <code class="option">--add</code> will
always take three parameters even if some of the <acronym class="acronym">XML</acronym>
catalog constructs will have only a single argument.
</p></dd><dt><span class="term"><code class="option">debug</code></span></dt><dd><p>
Print debugging statements showing the steps <span class="command"><strong>xmlcatalog</strong></span> is executing.
</p></dd><dt><span class="term"><code class="option">del <em class="replaceable"><code>VALUE(S)</code></em></code></span></dt><dd><p>
Remove the catalog entry corresponding to <em class="replaceable"><code>VALUE(S)</code></em>.
</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>
Execute a Formal Public Identifier lookup of the catalog entry
for <em class="replaceable"><code>PUBLIC-ID</code></em>. The corresponding entry will be
output to the command line.
</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>
Execute a Formal Public Identifier lookup of the catalog entry
for <em class="replaceable"><code>SYSTEM-ID</code></em>. The corresponding entry will be
output to the command line.
</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
queries to the user's own set of catalogs. This can be done by setting
the <code class="envar">XML_CATALOG_FILES</code> environment variable to a space-separated
list of catalogs. Use percent-encoding to escape spaces or other characters.
An empty variable should deactivate loading the default catalog from
<code class="filename">/etc/xml/catalog</code> or, more specifically,
<code class="filename">${sysconfdir}/xml/catalog</code>.
</p></dd></dl></div></div><div class="refsect1"><a name="diagnostics"></a><h2>DIAGNOSTICS</h2><p>
<span class="command"><strong>xmlcatalog</strong></span> return codes provide information that can be used when
calling it from scripts.
</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>
</p><p>
More information can be found at
</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>
</p></li><li class="listitem"><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> catalog support web page
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>
</p></li><li class="listitem"><p>James Clark's <acronym class="acronym">SGML</acronym> catalog
page <a class="ulink" href="http://www.jclark.com/sp/catalog.htm" target="_top">http://www.jclark.com/sp/catalog.htm</a>
</p></li><li class="listitem"><p><acronym class="acronym">OASIS</acronym> <acronym class="acronym">XML</acronym> catalog specification
<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>
</p></li></ul></div><p>
</p></div></div></body></html>