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