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