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