Bump to libxml2 2.9.7
[platform/upstream/libxml2.git] / doc / xmlcatalog_man.xml
1 <?xml version="1.0"?>
2 <?xml-stylesheet type="text/xsl"
3    href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"?>
4 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
5     "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
6
7     <!ENTITY xmlcatalog "<command>xmlcatalog</command>">
8 ]>
9
10 <refentry>
11
12 <refentryinfo>
13         <title>xmlcatalog Manual</title>
14         <productname>libxml2</productname>
15         <copyright>
16                 <year>2001</year>
17                 <year>2004</year>
18         </copyright>
19         <author>
20                 <firstname>John</firstname>
21                 <surname>Fleck</surname>
22                 <affiliation>
23                         <address>
24                                 <email>jfleck@inkstain.net</email>
25                         </address>
26                 </affiliation>
27         </author>
28         <!-- date should be the date of the latest change or the release version -->
29         <date>$Date$</date>
30         <!-- still a bit buggy output, will talk to docbook-xsl upstream to fix this -->
31         <!-- <releaseinfo>This is release 0.3 of the xmlcatalog Manual.</releaseinfo> -->
32         <!-- <edition>0.3</edition> -->
33 </refentryinfo>
34
35 <refmeta>
36         <refentrytitle>xmlcatalog</refentrytitle>
37         <manvolnum>1</manvolnum>
38 </refmeta>
39
40 <refnamediv>
41         <refname>xmlcatalog</refname>
42         <refpurpose>
43                 Command line tool to parse and manipulate <acronym>XML</acronym>
44                 or <acronym>SGML</acronym> catalog files.
45         </refpurpose>
46 </refnamediv>
47
48 <refsynopsisdiv>
49         <cmdsynopsis>
50         <command>xmlcatalog</command>
51         <group choice="opt">
52                 <arg choice="plain"><option>--sgml</option></arg>
53                 <arg choice="plain"><option>--shell</option></arg>
54                 <arg choice="plain"><option>--create</option></arg>
55                 <arg choice="plain"><option>--del <replaceable>VALUE(S)</replaceable></option></arg>
56                 <arg choice="plain">
57                         <group choice="opt">
58                                 <arg choice="plain">
59                                         <option>--add
60                                          <replaceable>TYPE</replaceable>
61                                          <replaceable>ORIG</replaceable>
62                                          <replaceable>REPLACE</replaceable>
63                                         </option>
64                                 </arg>
65                                 <arg choice="plain"><option>--add <replaceable>FILENAME</replaceable></option></arg>
66                         </group>                
67                 </arg>
68                 <arg choice="plain"><option>--noout</option></arg>
69                 <arg choice="plain"><option>--no-super-update</option></arg>
70                 <arg choice="plain">
71                         <group choice="opt">
72                                 <arg choice="plain"><option>-v</option></arg>
73                                 <arg choice="plain"><option>--verbose</option></arg>
74                         </group>
75                 </arg>
76         </group>
77         <arg choice="req" rep="norepeat"><replaceable>CATALOGFILE</replaceable></arg>
78         <arg choice="req" rep="repeat"><replaceable>ENTITIES</replaceable></arg>
79         </cmdsynopsis>
80 </refsynopsisdiv>
81
82 <refsect1 id="description">
83         <title>DESCRIPTION</title>
84         <para>
85                 &xmlcatalog; is a command line application allowing users to monitor and
86                 manipulate <acronym>XML</acronym> and <acronym>SGML</acronym> catalogs. It
87                 is included in <citerefentry>
88                         <refentrytitle>libxml</refentrytitle>
89                         <manvolnum>3</manvolnum>
90                 </citerefentry>.
91         </para>
92         <para>
93                 Its functions can be invoked from a single command from the command line,
94                 or it can perform multiple functions in interactive mode. It can operate
95                 on both <acronym>XML</acronym> and <acronym>SGML</acronym> files.
96         </para>
97 </refsect1>
98
99 <refsect1 id="options">
100         <title>OPTIONS</title>
101         <para>
102                 &xmlcatalog; accepts the following options (in alphabetical order):
103         </para>
104         
105         <variablelist>
106
107                 <varlistentry>
108         <term>
109                 <option>--add
110                  <replaceable>TYPE</replaceable>
111                  <replaceable>ORIG</replaceable>
112                  <replaceable>REPLACE</replaceable>
113                 </option>
114         </term>
115         <listitem>
116                 <para>
117                         Add an entry to <filename>CATALOGFILE</filename>. <replaceable>TYPE</replaceable>
118                         indicates the type of entry. Possible types are: <simplelist type="inline">
119                                 <member><parameter>public</parameter></member>
120                                 <member><parameter>system</parameter></member>
121                                 <member><parameter>uri</parameter></member>
122                                 <member><parameter>rewriteSystem</parameter></member>
123                                 <member><parameter>rewriteURI</parameter></member>
124                                 <member><parameter>delegatePublic</parameter></member>
125                                 <member><parameter>delegateSystem</parameter></member>
126                                 <member><parameter>delegateURI</parameter></member>
127                                 <member><parameter>nextCatalog</parameter></member>
128                         </simplelist>. <replaceable>ORIG</replaceable> is the original
129                         reference to be replaced, and <replaceable>REPLACE</replaceable>
130                         is the <acronym>URI</acronym> of the replacement entity to be
131                         used. The <option>--add</option> option will not overwrite
132                         <filename>CATALOGFILE</filename>, outputting
133                         to <filename class="devicefile">stdout</filename>, unless
134                         <option>--noout</option> is used. The <option>--add</option> will
135                         always take three parameters even if some of the <acronym>XML</acronym>
136                         catalog constructs will have only a single argument.
137                 </para>
138                 <!--
139                         FIXME - Is my list of possible types correct? Are SGML types the same?
140                 -->
141         </listitem>
142                 </varlistentry>
143
144                 <varlistentry>
145         <term><option>--add <replaceable>FILENAME</replaceable></option></term>
146         <listitem>
147                 <para>
148                         If the <option>--add</option> option is used following
149                         the <option>--sgml</option> option, only a single argument,
150                         a <replaceable>FILENAME</replaceable>, is used. This is used to add
151                         the name of a catalog file to an <acronym>SGML</acronym> supercatalog,
152                         a file that contains references to other included <acronym>SGML</acronym>
153                         catalog files.
154                 </para>
155         </listitem>
156                 </varlistentry>
157
158                 <varlistentry>
159         <term><option>--create</option></term>
160         <listitem>
161                 <para>
162                         Create a new <acronym>XML</acronym> catalog. Outputs
163                         to <filename class="devicefile">stdout</filename>,
164                         ignoring <replaceable>filename</replaceable> unless <option>--noout</option> is
165                         used, in which case it creates a new catalog
166                         file <replaceable>filename</replaceable>.
167                 </para>
168         </listitem>
169                 </varlistentry>
170
171                 <varlistentry>
172         <term><option>--del <replaceable>VALUE(S)</replaceable></option></term>
173         <listitem>
174                 <para>
175                         Remove entries from <replaceable>CATALOGFILE</replaceable>
176                         matching <replaceable>VALUE(S)</replaceable>. The <option>--del</option>
177                         option will not overwrite <replaceable>CATALOGFILE</replaceable>,
178                         outputting to <filename class="devicefile">stdout</filename>,
179                         unless <option>--noout</option> is used.
180                 </para>
181         </listitem>
182                 </varlistentry>
183                 
184                 <varlistentry>
185         <term><option>--noout</option></term>
186         <listitem>
187                 <para>
188                         Save output to the named file rather than outputting
189                         to <filename class="devicefile">stdout</filename>.
190                 </para>
191         </listitem>
192                 </varlistentry>
193                 
194                 <varlistentry>
195         <term><option>--no-super-update</option></term>
196         <listitem>
197                 <para>
198                         Do not update the <acronym>SGML</acronym> super catalog.
199                 </para>
200         </listitem>
201                 </varlistentry>
202                 
203                 <varlistentry>
204         <term><option>--shell</option></term>
205         <listitem>
206                 <para>
207                         Run a shell allowing interactive queries on catalog
208                         file <replaceable>CATALOGFILE</replaceable>. For the set of available
209                         commands see <xref linkend="shell"/>.
210                 </para>
211         </listitem>
212                 </varlistentry>
213                 
214                 <varlistentry>
215         <term><option>--sgml</option></term>
216         <listitem>
217                 <para>
218                         Uses <acronym>SGML</acronym> super catalogs for <option>--add</option>
219                         and <option>--del</option> options.
220                 </para>
221         </listitem>
222                 </varlistentry>
223                 
224                 <varlistentry>
225         <term><option>-v</option></term>
226         <term><option>--verbose</option></term>
227         <listitem>
228                 <para>Output debugging information.</para>
229         </listitem>
230                 </varlistentry>
231         
232         </variablelist>
233
234         <para>
235                 Invoking &xmlcatalog; non-interactively without a designated action
236                 (imposed with options like <option>--add</option>) will result in a lookup
237                 of the catalog entry for <replaceable>ENTITIES</replaceable> in the
238                 catalog denoted with <replaceable>CATALOGFILE</replaceable>. The
239                 corresponding entries will be output to the command line. This mode of
240                 operation, together with <option>--shell</option> mode and non-modifying
241                 (i.e. without <option>--noout</option>) direct actions, allows for
242                 a special shortcut of the void <replaceable>CATALOGFILE</replaceable>
243                 specification (possibly expressed as &quot;&quot; in the shell
244                 environment) appointing the default system catalog. That simplifies the
245                 handling when its exact location is irrelevant but the respective built-in
246                 still needs to be consulted.
247         </para>
248 </refsect1>
249
250 <refsect1 id="shell">
251         <title>SHELL COMMANDS</title>
252         <para>
253                 Invoking &xmlcatalog; with
254                 the <option>--shell <replaceable>CATALOGFILE</replaceable></option> option opens
255                 a command line shell allowing interactive access to the catalog file
256                 identified by <replaceable>CATALOGFILE</replaceable>. Invoking the shell
257                 provides a command line prompt after which the following commands (described in
258                 alphabetical order) can be entered.
259         </para>
260         
261         <variablelist>
262
263                 <varlistentry>
264         <term>
265                 <option>add
266                  <replaceable>TYPE</replaceable>
267                  <replaceable>ORIG</replaceable>
268                  <replaceable>REPLACE</replaceable>
269                 </option>
270         </term>
271         <listitem>
272                 <para>
273                         Add an entry to the catalog file. <replaceable>TYPE</replaceable>
274                         indicates the type of entry. Possible types are: <simplelist type="inline">
275                                 <member><parameter>public</parameter></member>
276                                 <member><parameter>system</parameter></member>
277                                 <member><parameter>uri</parameter></member>
278                                 <member><parameter>rewriteSystem</parameter></member>
279                                 <member><parameter>rewriteURI</parameter></member>
280                                 <member><parameter>delegatePublic</parameter></member>
281                                 <member><parameter>delegateSystem</parameter></member>
282                                 <member><parameter>delegateURI</parameter></member>
283                                 <member><parameter>nextCatalog</parameter></member>
284                         </simplelist>. <replaceable>ORIG</replaceable> is the original
285                         reference to be replaced, and <replaceable>REPLACE</replaceable>
286                         is the <acronym>URI</acronym> of the replacement entity to be
287                         used. The <option>--add</option> option will not overwrite
288                         <filename>CATALOGFILE</filename>, outputting
289                         to <filename class="devicefile">stdout</filename>, unless
290                         <option>--noout</option> is used. The <option>--add</option> will
291                         always take three parameters even if some of the <acronym>XML</acronym>
292                         catalog constructs will have only a single argument.
293                 </para>
294         </listitem>
295                 </varlistentry>
296
297                 <varlistentry>
298         <term><option>debug</option></term>
299         <listitem>
300                 <para>
301                         Print debugging statements showing the steps &xmlcatalog; is executing.
302                 </para>
303         </listitem>
304                 </varlistentry>
305
306                 <varlistentry>
307         <term><option>del <replaceable>VALUE(S)</replaceable></option></term>
308         <listitem>
309                 <para>
310                         Remove the catalog entry corresponding to <replaceable>VALUE(S)</replaceable>.
311                 </para>
312         </listitem>
313                 </varlistentry>
314
315                 <varlistentry>
316         <term><option>dump</option></term>
317         <listitem>
318                 <para>Print the current catalog.</para>
319         </listitem>
320                 </varlistentry>
321
322                 <varlistentry>
323         <term><option>exit</option></term>
324         <listitem>
325                 <para>Quit the shell.</para>
326         </listitem>
327                 </varlistentry>
328         
329                 <varlistentry>
330         <term><option>public <replaceable>PUBLIC-ID</replaceable></option></term>
331         <listitem>
332                 <para>
333                         Execute a Formal Public Identifier lookup of the catalog entry
334                         for <replaceable>PUBLIC-ID</replaceable>. The corresponding entry will be
335                         output to the command line.
336                 </para>
337         </listitem>
338                 </varlistentry>
339
340                 <varlistentry>
341         <term><option>quiet</option></term>
342         <listitem>
343                 <para>Stop printing debugging statements.</para>
344         </listitem>
345                 </varlistentry>
346                 
347                 <varlistentry>
348         <term><option>system <replaceable>SYSTEM-ID</replaceable></option></term>
349         <listitem>
350                 <para>
351                         Execute a Formal Public Identifier lookup of the catalog entry
352                         for <replaceable>SYSTEM-ID</replaceable>. The corresponding entry will be
353                         output to the command line.
354                 </para>
355         </listitem>
356                 </varlistentry>
357
358         </variablelist>
359 </refsect1>
360
361 <refsect1 id="environment">
362         <title>ENVIRONMENT</title>
363         <variablelist>
364
365                 <varlistentry>
366         <term><envar>XML_CATALOG_FILES</envar></term>
367         <listitem>
368                 <para><acronym>XML</acronym> catalog behavior can be changed by redirecting
369                         queries to the user's own set of catalogs. This can be done by setting
370                         the <envar>XML_CATALOG_FILES</envar> environment variable to a list
371                         of catalogs. An empty one should deactivate loading the
372                         default <filename>/etc/xml/catalog</filename> catalog.
373                 </para>
374         </listitem>
375                 </varlistentry>
376
377         </variablelist> 
378 </refsect1>
379
380 <refsect1 id="diagnostics">
381         <title>DIAGNOSTICS</title>
382         <para>
383                 &xmlcatalog; return codes provide information that can be used when
384                 calling it from scripts.
385         </para>
386         <variablelist>
387
388                 <varlistentry>
389         <term><errorcode>0</errorcode></term>
390         <listitem>
391                 <para>No error</para>
392         </listitem>
393                 </varlistentry>
394
395                 <varlistentry>
396         <term><errorcode>1</errorcode></term>
397         <listitem>
398                 <para>Failed to remove an entry from the catalog</para>
399         </listitem>
400                 </varlistentry>
401
402                 <varlistentry>
403         <term><errorcode>2</errorcode></term>
404         <listitem>
405                 <para>Failed to save to the catalog, check file permissions</para>
406         </listitem>
407                 </varlistentry>
408
409                 <varlistentry>
410         <term><errorcode>3</errorcode></term>
411         <listitem>
412                 <para>Failed to add an entry to the catalog</para>
413         </listitem>
414                 </varlistentry>
415
416                 <varlistentry>
417         <term><errorcode>4</errorcode></term>
418         <listitem>
419                 <para>Failed to look up an entry in the catalog</para>
420         </listitem>
421                 </varlistentry>
422
423         </variablelist>
424 </refsect1>
425
426 <refsect1 id="seealso">
427         <title>SEE ALSO</title>
428         <para><citerefentry>
429                         <refentrytitle>libxml</refentrytitle>
430                         <manvolnum>3</manvolnum>
431                 </citerefentry>
432         </para>
433         <para>
434                 More information can be found at
435                 <itemizedlist>
436                         <listitem>
437                                 <para><citerefentry>
438                                                 <refentrytitle>libxml</refentrytitle>
439                                                 <manvolnum>3</manvolnum>
440                                         </citerefentry> web page <ulink url="http://www.xmlsoft.org/"/>
441                                 </para>
442                         </listitem>
443                         <listitem>
444                                 <para><citerefentry>
445                                                 <refentrytitle>libxml</refentrytitle>
446                                                 <manvolnum>3</manvolnum>
447                                         </citerefentry> catalog support web page
448                                         at <ulink url="http://www.xmlsoft.org/catalog.html"/>
449                                 </para>
450                         </listitem>
451                         <listitem>
452                                 <para>James Clark's <acronym>SGML</acronym> catalog
453                                         page <ulink url="http://www.jclark.com/sp/catalog.htm"/>
454                                 </para>
455                         </listitem>
456                         <listitem>
457                                 <para><acronym>OASIS</acronym> <acronym>XML</acronym> catalog specification
458                                         <ulink url="http://www.oasis-open.org/committees/entity/spec.html"/>
459                                 </para>
460                         </listitem>
461                 </itemizedlist>
462         </para>
463 </refsect1>
464
465 </refentry>