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