blob: fbf672f6509ec7ad14c5d5388e3302228f0c7f5a [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>
MDT 2001 John Fleckfd32de62001-10-27 20:14:01 +000026 <legalnotice id="legalnotice">
27 <para>Permission is granted to copy, distribute and/or modify this document
28 under the terms of the <ulink type="help" url="gnome-help:fdl"><citetitle>GNU Free Documentation
29 License</citetitle></ulink>, Version 1.1 or any later version
30 published by the Free Software Foundation with no Invariant Sections,
31 no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
32 can be found <ulink type="help" url="gnome-help:fdl">here</ulink>.
33 </para>
34 <para>Many of the names used by companies to distinguish their products and
35 services are claimed as trademarks. Where those names appear in any
36 GNOME documentation, and those trademarks are made aware to the members
37 of the GNOME Documentation Project, the names have been printed in caps
38 or initial caps.
39 </para>
40 </legalnotice>
41 <releaseinfo>This is release 0.1 of the xmllint Manual.</releaseinfo>
42 </refentryinfo>
43
44 <refmeta>
45 <refentrytitle>xmllint</refentrytitle>
46 <manvolnum>1</manvolnum>
47 </refmeta>
48
49 <refnamediv>
50 <refname>xmllint</refname>
51 <refpurpose>command line <acronym>XML</acronym> tool</refpurpose>
52 </refnamediv>
53
54 <refsynopsisdiv>
55 <cmdsynopsis>
56 <command>xmllint</command>
57 <group>
58 <arg>--version</arg>
59 <arg>--debug</arg>
60 <arg>--shell</arg>
61 <arg>--debugent</arg>
62 <arg>--copy</arg>
63 <arg>--recover</arg>
64 <arg>--noent</arg>
65 <arg>--noout</arg>
66 <arg>--htmlout</arg>
67 <arg>--nowrap</arg>
68 <arg>--valid</arg>
69 <arg>--postvalid</arg>
70 <arg>--dtdvalid <replaceable>URL</replaceable></arg>
71 <arg>--timing</arg>
72 <arg>--repeat</arg>
73 <arg>--insert</arg>
74 <arg>--compress</arg>
John Fleck027edfb2001-11-04 20:13:58 +000075 <arg>--sgml</arg>
MDT 2001 John Fleckfd32de62001-10-27 20:14:01 +000076 <arg>--html</arg>
77 <arg>--push</arg>
78 <arg>--memory</arg>
79 <arg>--nowarning</arg>
80 <arg>--noblanks</arg>
81 <arg>--format</arg>
82 <arg>--testIO</arg>
83 <arg>--encode <replaceable>encoding</replaceable></arg>
84 <arg>--catalogs</arg>
85 <arg>--nocatalogs</arg>
86 <arg>--auto</arg>
87 <arg>--xinclude</arg>
88 <arg>--loaddtd</arg>
89 <arg>--dtdattr</arg>
90 </group>
91 <arg><option><replaceable>xmlfile</replaceable></option></arg>
92 </cmdsynopsis>
93 </refsynopsisdiv>
94
95 <refsect1 id="introduction">
96 <title>Introduction</title>
97 <para>
98 The xmllint program parses one or more XML files, specified on the
99 command line as <replaceable>xmlfile</replaceable>. It prints various
100 types of output, depending upon the options selected. It is useful for
101 detecting errors both in <acronym>XML</acronym> code and in the
102 <acronym>XML</acronym> parser itself.
103 </para>
104
105 <para>
106 It is included in <application>libxml2</application>.
107 </para>
108 </refsect1>
109 <refsect1 id="options">
110 <title>Options</title>
111 <variablelist>
112 <varlistentry>
113 <term><option>--version</option></term>
114 <listitem>
115 <simpara>
116 Display the version of
117 <application>libxml2</application> used.
118 </simpara>
119 </listitem>
120 </varlistentry>
121
122 <varlistentry>
123 <term><option>--debug</option></term>
124 <listitem>
125 <simpara>
126 Parse a file and output an annotated tree of the
127 in-memory version of the document.
128 </simpara>
129 </listitem>
130 </varlistentry>
131
132 <varlistentry>
133 <term><option>--shell</option></term>
134 <listitem>
135 <simpara>
MST 2001 John Fleck42304042001-11-18 00:18:06 +0000136 Run a navigating shell. Details on available commands in shell mode
137 are below.
MDT 2001 John Fleckfd32de62001-10-27 20:14:01 +0000138 </simpara>
139 </listitem>
140 </varlistentry>
141
142 <varlistentry>
143 <term><option>--debugent</option></term>
144 <listitem>
145 <simpara>
146 Debug the entities defined in the document.
147 </simpara>
148 </listitem>
149 </varlistentry>
150
151 <varlistentry>
152 <term><option>--copy</option> </term>
153 <listitem>
154 <simpara>
155 Test the internal copy implementation.
156 </simpara>
157 </listitem>
158 </varlistentry>
159
160
161 <varlistentry>
162 <term><option>--recover</option></term>
163 <listitem>
164 <simpara>
165 Output any parsable portions of an invalid
166 document.
167 </simpara>
168 </listitem>
169 </varlistentry>
170
171 <varlistentry>
172 <term><option>--noent</option></term>
173 <listitem>
174 <simpara>
175 Substitute entity values for entity
176 references. By default, <application>xmllint</application> leaves entity
177 references in place.
178 </simpara>
179 </listitem>
180 </varlistentry>
181
182 <varlistentry>
183 <term><option>--noout</option></term>
184 <listitem>
185 <simpara>
186 Suppress output. By default,
187 <application>xmllint</application> outputs the result tree.
188 </simpara>
189 </listitem>
190 </varlistentry>
191
192 <varlistentry>
193 <term><option>--htmlout</option></term>
194 <listitem>
195 <simpara>
196 Output results as an <acronym>HTML</acronym>
197 file. This causes <application>xmllint</application> to output
198 the necessary <acronym>HTML</acronym> tags surrounding the result tree
199 output so the results can be displayed in a browser.
200 </simpara>
201 </listitem>
202 </varlistentry>
203
204 <varlistentry>
205 <term><option>--nowrap </option></term>
206 <listitem>
207 <simpara>
208 Do not output HTML doc wrapper.
209 </simpara>
210 </listitem>
211 </varlistentry>
212
213<varlistentry>
214 <term><option>--valid </option></term>
215 <listitem>
216 <simpara>
217 Determine if the document is a valid instance
218 of the included Document Type Definition (<acronym>DTD</acronym>). A
219 <acronym>DTD</acronym> to be validated against also can be specified at
220 the command line using the <option>--dtdvalid</option> option. By default,
221 <application>xmllint</application> also checks to determine if the
222 document is well-formed.
223 </simpara>
224 </listitem>
225 </varlistentry>
226
227 <varlistentry>
228 <term><option>--postvalid</option></term>
229 <listitem>
230 <simpara>
231 Validate after parsing is completed.
232 </simpara>
233 </listitem>
234 </varlistentry>
235
236 <varlistentry>
237 <term> <option>--dtdvalid</option> <replaceable>URL</replaceable></term>
238 <listitem>
239 <simpara>
240 Use the
241 <acronym>DTD</acronym> specified by <replaceable>URL</replaceable> for
242 validation.
243 </simpara>
244 </listitem>
245 </varlistentry>
246
247 <varlistentry>
248 <term><option>--timing</option></term>
249 <listitem>
250 <simpara>
251 Output information about the time it takes
252 <application>xmllint</application> to perform the various steps.
253 </simpara>
254 </listitem>
255 </varlistentry>
256
257 <varlistentry>
258 <term><option>--repeat</option></term>
259 <listitem>
260 <simpara>
261 Repeat 100 times, for timing or profiling.
262 </simpara>
263 </listitem>
264 </varlistentry>
265
266 <varlistentry>
267 <term><option>--insert</option></term>
268 <listitem>
269 <simpara>
270 Test for valid insertions.
271 </simpara>
272 </listitem>
273 </varlistentry>
274
275 <varlistentry>
276 <term><option>--compress</option></term>
277 <listitem>
278 <simpara>
279 Turn on gzip compression of output.
280 </simpara>
281 </listitem>
282 </varlistentry>
283
John Fleck027edfb2001-11-04 20:13:58 +0000284 <varlistentry>
285 <term><option>--sgml</option></term>
286 <listitem>
287 <simpara>Use the DocBook <acronym>SGML</acronym> parser. This allows
288 documents written in <acronym>SGML</acronym> DocBook to be converted
289 into an in-memory tree and treated as if they were written in
290 <acronym>XML</acronym>.</simpara>
291 </listitem>
292 </varlistentry>
293
MDT 2001 John Fleckfd32de62001-10-27 20:14:01 +0000294 <varlistentry>
295 <term><option>--html</option></term>
296 <listitem>
297 <simpara>
298 Use the <acronym>HTML</acronym> parser.
299 </simpara>
300 </listitem>
301 </varlistentry>
302
303 <varlistentry>
304 <term><option>--push</option></term>
305 <listitem>
306 <simpara>
307 Use the push mode of the parser.
308 </simpara>
309 </listitem>
310 </varlistentry>
311
312
313 <varlistentry>
314 <term><option>--memory</option></term>
315 <listitem>
316 <simpara>
317 Parse from memory.
318 </simpara>
319 </listitem>
320 </varlistentry>
321
322 <varlistentry>
323 <term><option>--nowarning</option></term>
324 <listitem>
325 <simpara>
326 Do not emit warnings from the parser and/or validator.
327 </simpara>
328 </listitem>
329 </varlistentry>
330
331 <varlistentry>
332 <term><option>--noblanks</option></term>
333 <listitem>
334 <simpara>
335 Drop ignorable blank spaces.
336 </simpara>
337 </listitem>
338 </varlistentry>
339
340 <varlistentry>
341 <term><option>--format</option></term>
342 <listitem>
343 <simpara>
344 Reformat and reindent the output.
345 </simpara>
346 </listitem>
347 </varlistentry>
348
349 <varlistentry>
350 <term><option>--testIO</option></term>
351 <listitem>
352 <simpara>
353 Test user input/output support.
354 </simpara>
355 </listitem>
356 </varlistentry>
357
358 <varlistentry>
359 <term><option>--encode</option> <replaceable>encoding</replaceable></term>
360 <listitem>
361 <simpara>
362 Output in the given encoding.
363 </simpara>
364 </listitem>
365 </varlistentry>
366
367 <varlistentry>
368 <term><option>--catalogs</option></term>
369 <listitem>
370 <simpara>
371 Use the catalogs from $SGML_CATALOG_FILES. Otherwise /etc/xml/catalog
372 is used by default.
373 </simpara>
374 </listitem>
375 </varlistentry>
376
377 <varlistentry>
378 <term><option>--nocatalogs</option></term>
379 <listitem>
380 <simpara>
381 Do not use any catalogs.
382 </simpara>
383 </listitem>
384 </varlistentry>
385
386 <varlistentry>
387 <term><option>--auto</option></term>
388 <listitem>
389 <simpara>
390 Generate a small document for testing purposes.
391 </simpara>
392 </listitem>
393 </varlistentry>
394
395 <varlistentry>
396 <term><option>--xinclude</option></term>
397 <listitem>
398 <simpara>
399 Do XInclude processing.
400 </simpara>
401 </listitem>
402 </varlistentry>
403 <varlistentry>
404 <term><option>--loaddtd</option></term>
405 <listitem>
406 <simpara>
407 Fetch external DTD.
408 </simpara>
409 </listitem>
410 </varlistentry>
411
412 <varlistentry>
413 <term><option>--dtdattr</option></term>
414 <listitem>
415 <simpara>
416 Fetch external DTD and populate the tree with inherited attributes.
417 </simpara>
418 </listitem>
419 </varlistentry>
420
421 </variablelist>
422 </refsect1>
MST 2001 John Fleck42304042001-11-18 00:18:06 +0000423
424 <refsect1 id="shell">
425 <title>Shell</title>
426 <para>
427 <application>xmllint</application> offers an interactive shell mode
428 invoked with the <option>--shell</option> command. Available commands in
429 shell mode include:
430 </para>
431 <variablelist>
432 <varlistentry>
433 <term><option>base</option></term>
434 <listitem>
435 <simpara>
436 display XML base of the node
437 </simpara>
438 </listitem>
439 </varlistentry>
440 <varlistentry>
441 <term><option>bye</option></term>
442 <listitem>
443 <simpara>
444 leave shell
445 </simpara>
446 </listitem>
447 </varlistentry>
448 <varlistentry>
449 <term><option>cat <replaceable>node</replaceable></option></term>
450 <listitem>
451 <simpara>
452 Display node if given or current node.
453 </simpara>
454 </listitem>
455 </varlistentry>
456 <varlistentry>
457 <term><option>cd <replaceable>path</replaceable></option></term>
458 <listitem>
459 <simpara>
460 Change the current node to <replaceable>path</replaceable> (if given
461 and unique) or root if no argument given.
462 </simpara>
463 </listitem>
464 </varlistentry>
465 <varlistentry>
466 <term><option>dir <replaceable>path</replaceable></option></term>
467 <listitem>
468 <simpara>
469 Dumps information about the node (namespace, attributes, content).
470 </simpara>
471 </listitem>
472 </varlistentry>
473 <varlistentry>
474 <term><option>du <replaceable>path</replaceable></option></term>
475 <listitem>
476 <simpara>
477 Show the structure of the subtree under path or the current node.
478 </simpara>
479 </listitem>
480 </varlistentry>
481 <varlistentry>
482 <term><option>exit</option></term>
483 <listitem>
484 <simpara>
485 Leave the shell.
486 </simpara>
487 </listitem>
488 </varlistentry>
489 <varlistentry>
490 <term><option>help</option></term>
491 <listitem>
492 <simpara>
493 Show this help.
494 </simpara>
495 </listitem>
496 </varlistentry>
497 <varlistentry>
498 <term><option>free</option></term>
499 <listitem>
500 <simpara>
501 Display memory usage.
502 </simpara>
503 </listitem>
504 </varlistentry>
505 <varlistentry>
506 <term><option>load <replaceable>name</replaceable></option></term>
507 <listitem>
508 <simpara>
509 Load a new document with the given name.
510 </simpara>
511 </listitem>
512 </varlistentry>
513 <varlistentry>
514 <term><option>ls <replaceable>path</replaceable></option></term>
515 <listitem>
516 <simpara>
517 List contents of <replaceable>path</replaceable> (if given) or the
518 current directory.
519 </simpara>
520 </listitem>
521 </varlistentry>
522 <varlistentry>
523 <term><option>pwd</option></term>
524 <listitem>
525 <simpara>
526 Display the path to the current node.
527 </simpara>
528 </listitem>
529 </varlistentry>
530 <varlistentry>
531 <term><option>quit</option></term>
532 <listitem>
533 <simpara>
534 Leave the shell.
535 </simpara>
536 </listitem>
537 </varlistentry>
538 <varlistentry>
539 <term><option>save <replaceable>name</replaceable></option></term>
540 <listitem>
541 <simpara>
542 Saves the current document to <replaceable>name</replaceable> if
543 given or to the original name.
544 </simpara>
545 </listitem>
546 </varlistentry>
547 <varlistentry>
548 <term><option>validate</option></term>
549 <listitem>
550 <simpara>
551 Check the document for error.
552 </simpara>
553 </listitem>
554 </varlistentry>
555 <varlistentry>
556 <term><option>write <replaceable>name</replaceable></option></term>
557 <listitem>
558 <simpara>
559 Write the current node to the given filename.
560 </simpara>
561 </listitem>
562 </varlistentry>
563
564 </variablelist>
565 </refsect1>
566</refentry>