• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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>
466