blob: dd5966ee95b668d6c503415e796d0716fead5857 [file] [log] [blame]
MDT 2001 John Fleckfd32de62001-10-27 20:14:01 +00001<?xml version="1.0"?>
2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
4]>
5<refentry>
6 <refentryinfo>
7 <title>xmllint Manual</title>
8 <copyright>
9 <year>2001</year>
10 </copyright>
11 <author>
12 <firstname>John</firstname>
13 <surname>Fleck</surname>
14 </author>
15 <address><email>jfleck@inkstain.net</email></address>
16 <author>
17 <firstname>Ziying</firstname>
18 <surname>Sherwin</surname>
19 </author>
20 <address><email>sherwin@nlm.nih.gov</email></address>
MST 2001 John Fleck42304042001-11-18 00:18:06 +000021 <author>
22 <firstname>Heiko</firstname>
23 <surname>Rupp</surname>
24 </author>
25 <address><email>hwr@pilhuhn.de</email></address>
MST 2001 John Fleck3fc555e2001-12-11 04:41:24 +000026
27 <releaseinfo>This is release 0.2 of the xmllint Manual.</releaseinfo>
MDT 2001 John Fleckfd32de62001-10-27 20:14:01 +000028 </refentryinfo>
29
30 <refmeta>
31 <refentrytitle>xmllint</refentrytitle>
32 <manvolnum>1</manvolnum>
33 </refmeta>
34
35 <refnamediv>
36 <refname>xmllint</refname>
37 <refpurpose>command line <acronym>XML</acronym> tool</refpurpose>
38 </refnamediv>
39
40 <refsynopsisdiv>
41 <cmdsynopsis>
42 <command>xmllint</command>
43 <group>
44 <arg>--version</arg>
45 <arg>--debug</arg>
46 <arg>--shell</arg>
47 <arg>--debugent</arg>
48 <arg>--copy</arg>
49 <arg>--recover</arg>
50 <arg>--noent</arg>
51 <arg>--noout</arg>
52 <arg>--htmlout</arg>
53 <arg>--nowrap</arg>
54 <arg>--valid</arg>
55 <arg>--postvalid</arg>
56 <arg>--dtdvalid <replaceable>URL</replaceable></arg>
57 <arg>--timing</arg>
58 <arg>--repeat</arg>
59 <arg>--insert</arg>
60 <arg>--compress</arg>
John Fleck027edfb2001-11-04 20:13:58 +000061 <arg>--sgml</arg>
MDT 2001 John Fleckfd32de62001-10-27 20:14:01 +000062 <arg>--html</arg>
63 <arg>--push</arg>
64 <arg>--memory</arg>
65 <arg>--nowarning</arg>
66 <arg>--noblanks</arg>
67 <arg>--format</arg>
68 <arg>--testIO</arg>
69 <arg>--encode <replaceable>encoding</replaceable></arg>
70 <arg>--catalogs</arg>
71 <arg>--nocatalogs</arg>
72 <arg>--auto</arg>
73 <arg>--xinclude</arg>
74 <arg>--loaddtd</arg>
75 <arg>--dtdattr</arg>
MST 2001 John Fleck2323ac22001-12-14 04:24:50 +000076 <arg>--dropdtd</arg>
MST 2003 John Fleck7e54be12003-01-07 03:54:25 +000077 <arg>--stream</arg>
78 <arg>--chkregister</arg>
MST 2003 John Fleckda271742003-03-25 14:05:17 +000079 <arg>--relaxng</arg>
MDT 2001 John Fleckfd32de62001-10-27 20:14:01 +000080 </group>
81 <arg><option><replaceable>xmlfile</replaceable></option></arg>
82 </cmdsynopsis>
83 </refsynopsisdiv>
84
85 <refsect1 id="introduction">
86 <title>Introduction</title>
87 <para>
88 The xmllint program parses one or more XML files, specified on the
89 command line as <replaceable>xmlfile</replaceable>. It prints various
90 types of output, depending upon the options selected. It is useful for
91 detecting errors both in <acronym>XML</acronym> code and in the
92 <acronym>XML</acronym> parser itself.
93 </para>
94
95 <para>
96 It is included in <application>libxml2</application>.
97 </para>
98 </refsect1>
99 <refsect1 id="options">
100 <title>Options</title>
101 <variablelist>
102 <varlistentry>
103 <term><option>--version</option></term>
104 <listitem>
105 <simpara>
106 Display the version of
107 <application>libxml2</application> used.
108 </simpara>
109 </listitem>
110 </varlistentry>
111
112 <varlistentry>
113 <term><option>--debug</option></term>
114 <listitem>
115 <simpara>
116 Parse a file and output an annotated tree of the
117 in-memory version of the document.
118 </simpara>
119 </listitem>
120 </varlistentry>
121
122 <varlistentry>
123 <term><option>--shell</option></term>
124 <listitem>
125 <simpara>
MST 2001 John Fleck42304042001-11-18 00:18:06 +0000126 Run a navigating shell. Details on available commands in shell mode
127 are below.
MDT 2001 John Fleckfd32de62001-10-27 20:14:01 +0000128 </simpara>
129 </listitem>
130 </varlistentry>
131
132 <varlistentry>
133 <term><option>--debugent</option></term>
134 <listitem>
135 <simpara>
136 Debug the entities defined in the document.
137 </simpara>
138 </listitem>
139 </varlistentry>
140
141 <varlistentry>
142 <term><option>--copy</option> </term>
143 <listitem>
144 <simpara>
145 Test the internal copy implementation.
146 </simpara>
147 </listitem>
148 </varlistentry>
149
150
151 <varlistentry>
152 <term><option>--recover</option></term>
153 <listitem>
154 <simpara>
155 Output any parsable portions of an invalid
156 document.
157 </simpara>
158 </listitem>
159 </varlistentry>
160
161 <varlistentry>
162 <term><option>--noent</option></term>
163 <listitem>
164 <simpara>
165 Substitute entity values for entity
166 references. By default, <application>xmllint</application> leaves entity
167 references in place.
168 </simpara>
169 </listitem>
170 </varlistentry>
171
172 <varlistentry>
173 <term><option>--noout</option></term>
174 <listitem>
175 <simpara>
176 Suppress output. By default,
177 <application>xmllint</application> outputs the result tree.
178 </simpara>
179 </listitem>
180 </varlistentry>
181
182 <varlistentry>
183 <term><option>--htmlout</option></term>
184 <listitem>
185 <simpara>
186 Output results as an <acronym>HTML</acronym>
187 file. This causes <application>xmllint</application> to output
188 the necessary <acronym>HTML</acronym> tags surrounding the result tree
189 output so the results can be displayed in a browser.
190 </simpara>
191 </listitem>
192 </varlistentry>
193
194 <varlistentry>
195 <term><option>--nowrap </option></term>
196 <listitem>
197 <simpara>
198 Do not output HTML doc wrapper.
199 </simpara>
200 </listitem>
201 </varlistentry>
202
203<varlistentry>
204 <term><option>--valid </option></term>
205 <listitem>
206 <simpara>
207 Determine if the document is a valid instance
208 of the included Document Type Definition (<acronym>DTD</acronym>). A
209 <acronym>DTD</acronym> to be validated against also can be specified at
210 the command line using the <option>--dtdvalid</option> option. By default,
211 <application>xmllint</application> also checks to determine if the
212 document is well-formed.
213 </simpara>
214 </listitem>
215 </varlistentry>
216
217 <varlistentry>
218 <term><option>--postvalid</option></term>
219 <listitem>
220 <simpara>
221 Validate after parsing is completed.
222 </simpara>
223 </listitem>
224 </varlistentry>
225
226 <varlistentry>
227 <term> <option>--dtdvalid</option> <replaceable>URL</replaceable></term>
228 <listitem>
229 <simpara>
230 Use the
231 <acronym>DTD</acronym> specified by <replaceable>URL</replaceable> for
232 validation.
233 </simpara>
234 </listitem>
235 </varlistentry>
236
237 <varlistentry>
238 <term><option>--timing</option></term>
239 <listitem>
240 <simpara>
241 Output information about the time it takes
242 <application>xmllint</application> to perform the various steps.
243 </simpara>
244 </listitem>
245 </varlistentry>
246
247 <varlistentry>
248 <term><option>--repeat</option></term>
249 <listitem>
250 <simpara>
251 Repeat 100 times, for timing or profiling.
252 </simpara>
253 </listitem>
254 </varlistentry>
255
256 <varlistentry>
257 <term><option>--insert</option></term>
258 <listitem>
259 <simpara>
260 Test for valid insertions.
261 </simpara>
262 </listitem>
263 </varlistentry>
264
265 <varlistentry>
266 <term><option>--compress</option></term>
267 <listitem>
268 <simpara>
269 Turn on gzip compression of output.
270 </simpara>
271 </listitem>
272 </varlistentry>
273
John Fleck027edfb2001-11-04 20:13:58 +0000274 <varlistentry>
275 <term><option>--sgml</option></term>
276 <listitem>
277 <simpara>Use the DocBook <acronym>SGML</acronym> parser. This allows
278 documents written in <acronym>SGML</acronym> DocBook to be converted
279 into an in-memory tree and treated as if they were written in
280 <acronym>XML</acronym>.</simpara>
281 </listitem>
282 </varlistentry>
283
MDT 2001 John Fleckfd32de62001-10-27 20:14:01 +0000284 <varlistentry>
285 <term><option>--html</option></term>
286 <listitem>
287 <simpara>
288 Use the <acronym>HTML</acronym> parser.
289 </simpara>
290 </listitem>
291 </varlistentry>
292
293 <varlistentry>
294 <term><option>--push</option></term>
295 <listitem>
296 <simpara>
297 Use the push mode of the parser.
298 </simpara>
299 </listitem>
300 </varlistentry>
301
302
303 <varlistentry>
304 <term><option>--memory</option></term>
305 <listitem>
306 <simpara>
307 Parse from memory.
308 </simpara>
309 </listitem>
310 </varlistentry>
311
312 <varlistentry>
313 <term><option>--nowarning</option></term>
314 <listitem>
315 <simpara>
316 Do not emit warnings from the parser and/or validator.
317 </simpara>
318 </listitem>
319 </varlistentry>
320
321 <varlistentry>
322 <term><option>--noblanks</option></term>
323 <listitem>
324 <simpara>
325 Drop ignorable blank spaces.
326 </simpara>
327 </listitem>
328 </varlistentry>
329
330 <varlistentry>
331 <term><option>--format</option></term>
332 <listitem>
333 <simpara>
Aleksey Sanin693c9bc2003-03-09 22:36:52 +0000334 Reformat and reindent the output. The $XMLLINT_INDENT
335 environment variable controls the indentation (default
Daniel Veillarddc07e182003-04-25 10:39:38 +0000336 value is two spaces &quot; &quot;).
MDT 2001 John Fleckfd32de62001-10-27 20:14:01 +0000337 </simpara>
338 </listitem>
339 </varlistentry>
340
341 <varlistentry>
342 <term><option>--testIO</option></term>
343 <listitem>
344 <simpara>
345 Test user input/output support.
346 </simpara>
347 </listitem>
348 </varlistentry>
349
350 <varlistentry>
351 <term><option>--encode</option> <replaceable>encoding</replaceable></term>
352 <listitem>
353 <simpara>
354 Output in the given encoding.
355 </simpara>
356 </listitem>
357 </varlistentry>
358
359 <varlistentry>
360 <term><option>--catalogs</option></term>
361 <listitem>
362 <simpara>
363 Use the catalogs from $SGML_CATALOG_FILES. Otherwise /etc/xml/catalog
364 is used by default.
365 </simpara>
366 </listitem>
367 </varlistentry>
368
369 <varlistentry>
370 <term><option>--nocatalogs</option></term>
371 <listitem>
372 <simpara>
373 Do not use any catalogs.
374 </simpara>
375 </listitem>
376 </varlistentry>
377
378 <varlistentry>
379 <term><option>--auto</option></term>
380 <listitem>
381 <simpara>
382 Generate a small document for testing purposes.
383 </simpara>
384 </listitem>
385 </varlistentry>
386
387 <varlistentry>
388 <term><option>--xinclude</option></term>
389 <listitem>
390 <simpara>
391 Do XInclude processing.
392 </simpara>
393 </listitem>
394 </varlistentry>
395 <varlistentry>
396 <term><option>--loaddtd</option></term>
397 <listitem>
398 <simpara>
399 Fetch external DTD.
400 </simpara>
401 </listitem>
402 </varlistentry>
403
404 <varlistentry>
405 <term><option>--dtdattr</option></term>
406 <listitem>
407 <simpara>
408 Fetch external DTD and populate the tree with inherited attributes.
409 </simpara>
410 </listitem>
411 </varlistentry>
MST 2001 John Fleck2323ac22001-12-14 04:24:50 +0000412 <varlistentry>
413 <term><option>--dropdtd</option></term>
414 <listitem>
415 <simpara>
416 Remove <acronym>DTD</acronym> from output.
417 </simpara>
418 </listitem>
419 </varlistentry>
MST 2003 John Fleck7e54be12003-01-07 03:54:25 +0000420 <varlistentry>
421 <term><option>--stream</option></term>
422 <listitem>
MDT 2003 John Fleck83c8a5c2003-04-20 16:45:07 +0000423 <simpara>Use streaming API - useful when used in combination with
424 --relaxng or --valid options for validation of files that are
425 too large to be held in memory.</simpara>
MST 2003 John Fleck7e54be12003-01-07 03:54:25 +0000426 </listitem>
427 </varlistentry>
428 <varlistentry>
429 <term><option>--chkregister</option></term>
430 <listitem>
431 <simpara>Turn on node registration. Useful for developeres testing
432 libxml2 node tracking code.</simpara>
433 </listitem>
434 </varlistentry>
MST 2003 John Fleckda271742003-03-25 14:05:17 +0000435 <varlistentry>
436 <term><option>--relaxng</option> <replaceable>schema</replaceable></term>
437 <listitem>
438 <simpara>Use RelaxNG file named <replaceable>schema</replaceable> for
439 validation.</simpara>
440 </listitem>
441 </varlistentry>
MDT 2001 John Fleckfd32de62001-10-27 20:14:01 +0000442 </variablelist>
443 </refsect1>
MST 2001 John Fleck42304042001-11-18 00:18:06 +0000444
445 <refsect1 id="shell">
446 <title>Shell</title>
447 <para>
448 <application>xmllint</application> offers an interactive shell mode
449 invoked with the <option>--shell</option> command. Available commands in
450 shell mode include:
451 </para>
452 <variablelist>
453 <varlistentry>
454 <term><option>base</option></term>
455 <listitem>
456 <simpara>
457 display XML base of the node
458 </simpara>
459 </listitem>
460 </varlistentry>
461 <varlistentry>
462 <term><option>bye</option></term>
463 <listitem>
464 <simpara>
465 leave shell
466 </simpara>
467 </listitem>
468 </varlistentry>
469 <varlistentry>
470 <term><option>cat <replaceable>node</replaceable></option></term>
471 <listitem>
472 <simpara>
473 Display node if given or current node.
474 </simpara>
475 </listitem>
476 </varlistentry>
477 <varlistentry>
478 <term><option>cd <replaceable>path</replaceable></option></term>
479 <listitem>
480 <simpara>
481 Change the current node to <replaceable>path</replaceable> (if given
482 and unique) or root if no argument given.
483 </simpara>
484 </listitem>
485 </varlistentry>
486 <varlistentry>
487 <term><option>dir <replaceable>path</replaceable></option></term>
488 <listitem>
489 <simpara>
490 Dumps information about the node (namespace, attributes, content).
491 </simpara>
492 </listitem>
493 </varlistentry>
494 <varlistentry>
495 <term><option>du <replaceable>path</replaceable></option></term>
496 <listitem>
497 <simpara>
498 Show the structure of the subtree under path or the current node.
499 </simpara>
500 </listitem>
501 </varlistentry>
502 <varlistentry>
503 <term><option>exit</option></term>
504 <listitem>
505 <simpara>
506 Leave the shell.
507 </simpara>
508 </listitem>
509 </varlistentry>
510 <varlistentry>
511 <term><option>help</option></term>
512 <listitem>
513 <simpara>
514 Show this help.
515 </simpara>
516 </listitem>
517 </varlistentry>
518 <varlistentry>
519 <term><option>free</option></term>
520 <listitem>
521 <simpara>
522 Display memory usage.
523 </simpara>
524 </listitem>
525 </varlistentry>
526 <varlistentry>
527 <term><option>load <replaceable>name</replaceable></option></term>
528 <listitem>
529 <simpara>
530 Load a new document with the given name.
531 </simpara>
532 </listitem>
533 </varlistentry>
534 <varlistentry>
535 <term><option>ls <replaceable>path</replaceable></option></term>
536 <listitem>
537 <simpara>
538 List contents of <replaceable>path</replaceable> (if given) or the
539 current directory.
540 </simpara>
541 </listitem>
542 </varlistentry>
543 <varlistentry>
544 <term><option>pwd</option></term>
545 <listitem>
546 <simpara>
547 Display the path to the current node.
548 </simpara>
549 </listitem>
550 </varlistentry>
551 <varlistentry>
552 <term><option>quit</option></term>
553 <listitem>
554 <simpara>
555 Leave the shell.
556 </simpara>
557 </listitem>
558 </varlistentry>
559 <varlistentry>
560 <term><option>save <replaceable>name</replaceable></option></term>
561 <listitem>
562 <simpara>
563 Saves the current document to <replaceable>name</replaceable> if
564 given or to the original name.
565 </simpara>
566 </listitem>
567 </varlistentry>
568 <varlistentry>
569 <term><option>validate</option></term>
570 <listitem>
571 <simpara>
572 Check the document for error.
573 </simpara>
574 </listitem>
575 </varlistentry>
576 <varlistentry>
577 <term><option>write <replaceable>name</replaceable></option></term>
578 <listitem>
579 <simpara>
580 Write the current node to the given filename.
581 </simpara>
582 </listitem>
583 </varlistentry>
MST 2001 John Fleck2323ac22001-12-14 04:24:50 +0000584
MST 2001 John Fleck42304042001-11-18 00:18:06 +0000585 </variablelist>
586 </refsect1>
MST 2002 John Fleck6647aed2002-12-26 02:23:24 +0000587 <refsect1>
588 <title>Debugging Catalogs</title>
589 <para>Setting the environment variable <varname>XML_DEBUG_CATALOG</varname>
590 using the command <command>&quot;export XML_DEBUG_CATALOG=&quot;</command>
591 outputs debugging information related to catalog operations.</para>
592 </refsect1>
MST 2001 John Fleck42304042001-11-18 00:18:06 +0000593</refentry>