<?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>
	<arg>--stream</arg>
	<arg>--chkregister</arg>
	<arg>--relaxng</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. The $XMLLINT_INDENT
	   environment variable controls the indentation (default 
	   value is two spaces &quot;&nbsp;&nbsp;&quot;).
	  </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>
      <varlistentry>
	<term><option>--stream</option></term>
	<listitem>
	  <simpara>Use streaming API - useful for validation of files that are
	  too large to be held in memory.</simpara> 
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>--chkregister</option></term>
	<listitem>
	  <simpara>Turn on node registration. Useful for developeres testing
	  libxml2 node tracking code.</simpara>
	</listitem>
      </varlistentry>
      <varlistentry>
	<term><option>--relaxng</option> <replaceable>schema</replaceable></term>
	<listitem>
	  <simpara>Use RelaxNG file named <replaceable>schema</replaceable> for
	  validation.</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>
