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