blob: f365472515e6794327957840b015b86f3c52389b [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
336 value is two spaces &quot;&nbsp;&nbsp;&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>
423 <simpara>Use streaming API - useful for validation of files that are
424 too large to be held in memory.</simpara>
425 </listitem>
426 </varlistentry>
427 <varlistentry>
428 <term><option>--chkregister</option></term>
429 <listitem>
430 <simpara>Turn on node registration. Useful for developeres testing
431 libxml2 node tracking code.</simpara>
432 </listitem>
433 </varlistentry>
MST 2003 John Fleckda271742003-03-25 14:05:17 +0000434 <varlistentry>
435 <term><option>--relaxng</option> <replaceable>schema</replaceable></term>
436 <listitem>
437 <simpara>Use RelaxNG file named <replaceable>schema</replaceable> for
438 validation.</simpara>
439 </listitem>
440 </varlistentry>
MDT 2001 John Fleckfd32de62001-10-27 20:14:01 +0000441 </variablelist>
442 </refsect1>
MST 2001 John Fleck42304042001-11-18 00:18:06 +0000443
444 <refsect1 id="shell">
445 <title>Shell</title>
446 <para>
447 <application>xmllint</application> offers an interactive shell mode
448 invoked with the <option>--shell</option> command. Available commands in
449 shell mode include:
450 </para>
451 <variablelist>
452 <varlistentry>
453 <term><option>base</option></term>
454 <listitem>
455 <simpara>
456 display XML base of the node
457 </simpara>
458 </listitem>
459 </varlistentry>
460 <varlistentry>
461 <term><option>bye</option></term>
462 <listitem>
463 <simpara>
464 leave shell
465 </simpara>
466 </listitem>
467 </varlistentry>
468 <varlistentry>
469 <term><option>cat <replaceable>node</replaceable></option></term>
470 <listitem>
471 <simpara>
472 Display node if given or current node.
473 </simpara>
474 </listitem>
475 </varlistentry>
476 <varlistentry>
477 <term><option>cd <replaceable>path</replaceable></option></term>
478 <listitem>
479 <simpara>
480 Change the current node to <replaceable>path</replaceable> (if given
481 and unique) or root if no argument given.
482 </simpara>
483 </listitem>
484 </varlistentry>
485 <varlistentry>
486 <term><option>dir <replaceable>path</replaceable></option></term>
487 <listitem>
488 <simpara>
489 Dumps information about the node (namespace, attributes, content).
490 </simpara>
491 </listitem>
492 </varlistentry>
493 <varlistentry>
494 <term><option>du <replaceable>path</replaceable></option></term>
495 <listitem>
496 <simpara>
497 Show the structure of the subtree under path or the current node.
498 </simpara>
499 </listitem>
500 </varlistentry>
501 <varlistentry>
502 <term><option>exit</option></term>
503 <listitem>
504 <simpara>
505 Leave the shell.
506 </simpara>
507 </listitem>
508 </varlistentry>
509 <varlistentry>
510 <term><option>help</option></term>
511 <listitem>
512 <simpara>
513 Show this help.
514 </simpara>
515 </listitem>
516 </varlistentry>
517 <varlistentry>
518 <term><option>free</option></term>
519 <listitem>
520 <simpara>
521 Display memory usage.
522 </simpara>
523 </listitem>
524 </varlistentry>
525 <varlistentry>
526 <term><option>load <replaceable>name</replaceable></option></term>
527 <listitem>
528 <simpara>
529 Load a new document with the given name.
530 </simpara>
531 </listitem>
532 </varlistentry>
533 <varlistentry>
534 <term><option>ls <replaceable>path</replaceable></option></term>
535 <listitem>
536 <simpara>
537 List contents of <replaceable>path</replaceable> (if given) or the
538 current directory.
539 </simpara>
540 </listitem>
541 </varlistentry>
542 <varlistentry>
543 <term><option>pwd</option></term>
544 <listitem>
545 <simpara>
546 Display the path to the current node.
547 </simpara>
548 </listitem>
549 </varlistentry>
550 <varlistentry>
551 <term><option>quit</option></term>
552 <listitem>
553 <simpara>
554 Leave the shell.
555 </simpara>
556 </listitem>
557 </varlistentry>
558 <varlistentry>
559 <term><option>save <replaceable>name</replaceable></option></term>
560 <listitem>
561 <simpara>
562 Saves the current document to <replaceable>name</replaceable> if
563 given or to the original name.
564 </simpara>
565 </listitem>
566 </varlistentry>
567 <varlistentry>
568 <term><option>validate</option></term>
569 <listitem>
570 <simpara>
571 Check the document for error.
572 </simpara>
573 </listitem>
574 </varlistentry>
575 <varlistentry>
576 <term><option>write <replaceable>name</replaceable></option></term>
577 <listitem>
578 <simpara>
579 Write the current node to the given filename.
580 </simpara>
581 </listitem>
582 </varlistentry>
MST 2001 John Fleck2323ac22001-12-14 04:24:50 +0000583
MST 2001 John Fleck42304042001-11-18 00:18:06 +0000584 </variablelist>
585 </refsect1>
MST 2002 John Fleck6647aed2002-12-26 02:23:24 +0000586 <refsect1>
587 <title>Debugging Catalogs</title>
588 <para>Setting the environment variable <varname>XML_DEBUG_CATALOG</varname>
589 using the command <command>&quot;export XML_DEBUG_CATALOG=&quot;</command>
590 outputs debugging information related to catalog operations.</para>
591 </refsect1>
MST 2001 John Fleck42304042001-11-18 00:18:06 +0000592</refentry>