blob: e7c2b77431a318ad08dc93b33e065543f8452e2b [file] [log] [blame]
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
]>
<refentry>
<refentryinfo>
<title>xmllint Manual</title>
<copyright>
<year>2001</year>
</copyright>
<author>
<firstname>John</firstname>
<surname>Fleck</surname>
</author>
<address><email>jfleck@inkstain.net</email></address>
<author>
<firstname>Ziying</firstname>
<surname>Sherwin</surname>
</author>
<address><email>sherwin@nlm.nih.gov</email></address>
<author>
<firstname>Heiko</firstname>
<surname>Rupp</surname>
</author>
<address><email>hwr@pilhuhn.de</email></address>
<releaseinfo>This is release 0.2 of the xmllint Manual.</releaseinfo>
</refentryinfo>
<refmeta>
<refentrytitle>xmllint</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>xmllint</refname>
<refpurpose>command line <acronym>XML</acronym> tool</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>xmllint</command>
<group>
<arg>--version</arg>
<arg>--debug</arg>
<arg>--shell</arg>
<arg>--debugent</arg>
<arg>--copy</arg>
<arg>--recover</arg>
<arg>--noent</arg>
<arg>--noout</arg>
<arg>--htmlout</arg>
<arg>--nowrap</arg>
<arg>--valid</arg>
<arg>--postvalid</arg>
<arg>--dtdvalid <replaceable>URL</replaceable></arg>
<arg>--timing</arg>
<arg>--repeat</arg>
<arg>--insert</arg>
<arg>--compress</arg>
<arg>--sgml</arg>
<arg>--html</arg>
<arg>--push</arg>
<arg>--memory</arg>
<arg>--nowarning</arg>
<arg>--noblanks</arg>
<arg>--format</arg>
<arg>--testIO</arg>
<arg>--encode <replaceable>encoding</replaceable></arg>
<arg>--catalogs</arg>
<arg>--nocatalogs</arg>
<arg>--auto</arg>
<arg>--xinclude</arg>
<arg>--loaddtd</arg>
<arg>--dtdattr</arg>
<arg>--dropdtd</arg>
</group>
<arg><option><replaceable>xmlfile</replaceable></option></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id="introduction">
<title>Introduction</title>
<para>
The xmllint program parses one or more XML files, specified on the
command line as <replaceable>xmlfile</replaceable>. It prints various
types of output, depending upon the options selected. It is useful for
detecting errors both in <acronym>XML</acronym> code and in the
<acronym>XML</acronym> parser itself.
</para>
<para>
It is included in <application>libxml2</application>.
</para>
</refsect1>
<refsect1 id="options">
<title>Options</title>
<variablelist>
<varlistentry>
<term><option>--version</option></term>
<listitem>
<simpara>
Display the version of
<application>libxml2</application> used.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--debug</option></term>
<listitem>
<simpara>
Parse a file and output an annotated tree of the
in-memory version of the document.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--shell</option></term>
<listitem>
<simpara>
Run a navigating shell. Details on available commands in shell mode
are below.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--debugent</option></term>
<listitem>
<simpara>
Debug the entities defined in the document.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--copy</option> </term>
<listitem>
<simpara>
Test the internal copy implementation.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--recover</option></term>
<listitem>
<simpara>
Output any parsable portions of an invalid
document.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--noent</option></term>
<listitem>
<simpara>
Substitute entity values for entity
references. By default, <application>xmllint</application> leaves entity
references in place.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--noout</option></term>
<listitem>
<simpara>
Suppress output. By default,
<application>xmllint</application> outputs the result tree.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--htmlout</option></term>
<listitem>
<simpara>
Output results as an <acronym>HTML</acronym>
file. This causes <application>xmllint</application> to output
the necessary <acronym>HTML</acronym> tags surrounding the result tree
output so the results can be displayed in a browser.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--nowrap </option></term>
<listitem>
<simpara>
Do not output HTML doc wrapper.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--valid </option></term>
<listitem>
<simpara>
Determine if the document is a valid instance
of the included Document Type Definition (<acronym>DTD</acronym>). A
<acronym>DTD</acronym> to be validated against also can be specified at
the command line using the <option>--dtdvalid</option> option. By default,
<application>xmllint</application> also checks to determine if the
document is well-formed.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--postvalid</option></term>
<listitem>
<simpara>
Validate after parsing is completed.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term> <option>--dtdvalid</option> <replaceable>URL</replaceable></term>
<listitem>
<simpara>
Use the
<acronym>DTD</acronym> specified by <replaceable>URL</replaceable> for
validation.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--timing</option></term>
<listitem>
<simpara>
Output information about the time it takes
<application>xmllint</application> to perform the various steps.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--repeat</option></term>
<listitem>
<simpara>
Repeat 100 times, for timing or profiling.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--insert</option></term>
<listitem>
<simpara>
Test for valid insertions.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--compress</option></term>
<listitem>
<simpara>
Turn on gzip compression of output.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--sgml</option></term>
<listitem>
<simpara>Use the DocBook <acronym>SGML</acronym> parser. This allows
documents written in <acronym>SGML</acronym> DocBook to be converted
into an in-memory tree and treated as if they were written in
<acronym>XML</acronym>.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--html</option></term>
<listitem>
<simpara>
Use the <acronym>HTML</acronym> parser.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--push</option></term>
<listitem>
<simpara>
Use the push mode of the parser.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--memory</option></term>
<listitem>
<simpara>
Parse from memory.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--nowarning</option></term>
<listitem>
<simpara>
Do not emit warnings from the parser and/or validator.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--noblanks</option></term>
<listitem>
<simpara>
Drop ignorable blank spaces.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--format</option></term>
<listitem>
<simpara>
Reformat and reindent the output.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--testIO</option></term>
<listitem>
<simpara>
Test user input/output support.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--encode</option> <replaceable>encoding</replaceable></term>
<listitem>
<simpara>
Output in the given encoding.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--catalogs</option></term>
<listitem>
<simpara>
Use the catalogs from $SGML_CATALOG_FILES. Otherwise /etc/xml/catalog
is used by default.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--nocatalogs</option></term>
<listitem>
<simpara>
Do not use any catalogs.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--auto</option></term>
<listitem>
<simpara>
Generate a small document for testing purposes.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--xinclude</option></term>
<listitem>
<simpara>
Do XInclude processing.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--loaddtd</option></term>
<listitem>
<simpara>
Fetch external DTD.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--dtdattr</option></term>
<listitem>
<simpara>
Fetch external DTD and populate the tree with inherited attributes.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--dropdtd</option></term>
<listitem>
<simpara>
Remove <acronym>DTD</acronym> from output.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="shell">
<title>Shell</title>
<para>
<application>xmllint</application> offers an interactive shell mode
invoked with the <option>--shell</option> command. Available commands in
shell mode include:
</para>
<variablelist>
<varlistentry>
<term><option>base</option></term>
<listitem>
<simpara>
display XML base of the node
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>bye</option></term>
<listitem>
<simpara>
leave shell
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>cat <replaceable>node</replaceable></option></term>
<listitem>
<simpara>
Display node if given or current node.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>cd <replaceable>path</replaceable></option></term>
<listitem>
<simpara>
Change the current node to <replaceable>path</replaceable> (if given
and unique) or root if no argument given.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>dir <replaceable>path</replaceable></option></term>
<listitem>
<simpara>
Dumps information about the node (namespace, attributes, content).
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>du <replaceable>path</replaceable></option></term>
<listitem>
<simpara>
Show the structure of the subtree under path or the current node.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>exit</option></term>
<listitem>
<simpara>
Leave the shell.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>help</option></term>
<listitem>
<simpara>
Show this help.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>free</option></term>
<listitem>
<simpara>
Display memory usage.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>load <replaceable>name</replaceable></option></term>
<listitem>
<simpara>
Load a new document with the given name.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>ls <replaceable>path</replaceable></option></term>
<listitem>
<simpara>
List contents of <replaceable>path</replaceable> (if given) or the
current directory.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>pwd</option></term>
<listitem>
<simpara>
Display the path to the current node.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>quit</option></term>
<listitem>
<simpara>
Leave the shell.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>save <replaceable>name</replaceable></option></term>
<listitem>
<simpara>
Saves the current document to <replaceable>name</replaceable> if
given or to the original name.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>validate</option></term>
<listitem>
<simpara>
Check the document for error.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><option>write <replaceable>name</replaceable></option></term>
<listitem>
<simpara>
Write the current node to the given filename.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Debugging Catalogs</title>
<para>Setting the environment variable <varname>XML_DEBUG_CATALOG</varname>
using the command <command>&quot;export XML_DEBUG_CATALOG=&quot;</command>
outputs debugging information related to catalog operations.</para>
</refsect1>
</refentry>