."Generated by db2man.xsl. Don't modify this, modify the source.
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "xmllint" 1 "" "" "xmllint Manual"
.SH NAME
xmllint \- command line XML tool
.SH "SYNOPSIS"
\fBxmllint\fR [\fB--version\fR | \fB--debug\fR | \fB--shell\fR | \fB--debugent\fR | \fB--copy\fR | \fB--recover\fR | \fB--noent\fR | \fB--noout\fR | \fB--htmlout\fR | \fB--nowrap\fR | \fB--valid\fR | \fB--postvalid\fR | \fB--dtdvalid  \fIURL\fR \fR | \fB--timing\fR | \fB--repeat\fR | \fB--insert\fR | \fB--compress\fR | \fB--sgml\fR | \fB--html\fR | \fB--push\fR | \fB--memory\fR | \fB--nowarning\fR | \fB--noblanks\fR | \fB--format\fR | \fB--testIO\fR | \fB--encode  \fIencoding\fR \fR | \fB--catalogs\fR | \fB--nocatalogs\fR | \fB--auto\fR | \fB--xinclude\fR | \fB--loaddtd\fR | \fB--dtdattr\fR] [\fB\fIxmlfile\fR\fR]
.SH "INTRODUCTION"

.PP
The xmllint program parses one or more XML files, specified on the command line as \fIxmlfile\fR. It prints various types of output, depending upon the options selected. It is useful for detecting errors both in XML code and in the XML parser itself.

.PP
It is included in libxml2.

.SH "OPTIONS"

.TP
\fB--version\fR

Display the version of libxml2 used.

.TP
\fB--debug\fR

Parse a file and output an annotated tree of the in-memory version of the document.

.TP
\fB--shell\fR

Run a navigating shell. Details on available commands in shell mode are below.

.TP
\fB--debugent\fR

Debug the entities defined in the document.

.TP
\fB--copy\fR 

Test the internal copy implementation.

.TP
\fB--recover\fR

Output any parsable portions of an invalid document.

.TP
\fB--noent\fR

Substitute entity values for entity references. By default, xmllint leaves entity references in place.

.TP
\fB--noout\fR

Suppress output. By default, xmllint outputs the result tree.

.TP
\fB--htmlout\fR

Output results as an HTML file. This causes xmllint to output the necessary HTML tags surrounding the result tree output so the results can be displayed in a browser.

.TP
\fB--nowrap \fR

Do not output HTML doc wrapper.

.TP
\fB--valid \fR

Determine if the document is a valid instance of the included Document Type Definition (DTD). A DTD to be validated against also can be specified at the command line using the \fB--dtdvalid\fR option. By default, xmllint also checks to determine if the document is well-formed.

.TP
\fB--postvalid\fR

Validate after parsing is completed.

.TP
 \fB--dtdvalid\fR \fIURL\fR

Use the DTD specified by \fIURL\fR for validation.

.TP
\fB--timing\fR

Output information about the time it takes xmllint to perform the various steps.

.TP
\fB--repeat\fR

Repeat 100 times, for timing or profiling.

.TP
\fB--insert\fR

Test for valid insertions.

.TP
\fB--compress\fR

Turn on gzip compression of output.

.TP
\fB--sgml\fR

Use the DocBook SGML parser. This allows documents written in SGML DocBook to be converted into an in-memory tree and treated as if they were written in XML.

.TP
\fB--html\fR

Use the HTML parser.

.TP
\fB--push\fR

Use the push mode of the parser.

.TP
\fB--memory\fR

Parse from memory.

.TP
\fB--nowarning\fR

Do not emit warnings from the parser and/or validator.

.TP
\fB--noblanks\fR

Drop ignorable blank spaces.

.TP
\fB--format\fR

Reformat and reindent the output.

.TP
\fB--testIO\fR

Test user input/output support.

.TP
\fB--encode\fR \fIencoding\fR

Output in the given encoding.

.TP
\fB--catalogs\fR

Use the catalogs from $SGML_CATALOG_FILES. Otherwise /etc/xml/catalog is used by default.

.TP
\fB--nocatalogs\fR

Do not use any catalogs.

.TP
\fB--auto\fR

Generate a small document for testing purposes.

.TP
\fB--xinclude\fR

Do XInclude processing.

.TP
\fB--loaddtd\fR

Fetch external DTD.

.TP
\fB--dtdattr\fR

Fetch external DTD and populate the tree with inherited attributes.

.SH "SHELL"

.PP
xmllint offers an interactive shell mode invoked with the \fB--shell\fR command. Available commands in shell mode include:

.TP
\fBbase\fR

display XML base of the node

.TP
\fBbye\fR

leave shell

.TP
\fBcat \fInode\fR\fR

Display node if given or current node.

.TP
\fBcd \fIpath\fR\fR

Change the current node to \fIpath\fR (if given and unique) or root if no argument given.

.TP
\fBdir \fIpath\fR\fR

Dumps information about the node (namespace, attributes, content).

.TP
\fBdu \fIpath\fR\fR

Show the structure of the subtree under path or the current node.

.TP
\fBexit\fR

Leave the shell.

.TP
\fBhelp\fR

Show this help.

.TP
\fBfree\fR

Display memory usage.

.TP
\fBload \fIname\fR\fR

Load a new document with the given name.

.TP
\fBls \fIpath\fR\fR

List contents of \fIpath\fR (if given) or the current directory.

.TP
\fBpwd\fR

Display the path to the current node.

.TP
\fBquit\fR

Leave the shell.

.TP
\fBsave \fIname\fR\fR

Saves the current document to \fIname\fR if given or to the original name.

.TP
\fBvalidate\fR

Check the document for error.

.TP
\fBwrite \fIname\fR\fR

Write the current node to the given filename.

.SH AUTHOR
Copyright 2001
.Sp
John Fleck  <jfleck@inkstain.net>Ziying Sherwin  <sherwin@nlm.nih.gov>Heiko Rupp  <hwr@pilhuhn.de>This is release 0.2 of the xmllint Manual.