<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"?> <!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>--nocdata</arg> <arg>--nsclean</arg> <arg>--noout</arg> <arg>--htmlout</arg> <arg>--nowrap</arg> <arg>--valid</arg> <arg>--postvalid</arg> <arg>--dtdvalid <replaceable>URL</replaceable></arg> <arg>--dtdvalidfpi <replaceable>FPI</replaceable></arg> <arg>--timing</arg> <arg>--repeat</arg> <arg>--insert</arg> <arg>--compress</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> <arg>--schema</arg> <arg>--nonet</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>--nocdata</option></term> <listitem> <simpara> Substitute CDATA section by equivalent text nodes. </simpara> </listitem> </varlistentry> <varlistentry> <term><option>--nsclean</option></term> <listitem> <simpara> Remove redundant namespace declarations. </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>--dtdvalidfpi</option> <replaceable>FPI</replaceable></term> <listitem> <simpara> Use the <acronym>DTD</acronym> specified by the Public Identifier <replaceable>FPI</replaceable> for validation, note that this will require a Catalog exporting that Public Identifier to work. </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>--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 " "). </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 when used in combination with --relaxng or --valid options 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> <varlistentry> <term><option>--schema</option> <replaceable>schema</replaceable></term> <listitem> <simpara>Use a W3C XML Schema file named <replaceable>schema</replaceable> for validation.</simpara> </listitem> </varlistentry> <varlistentry> <term> <option>--nonet</option></term> <listitem> <simpara>Do not use the Internet to fetch DTD's or entities.</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>"export XML_DEBUG_CATALOG="</command> outputs debugging information related to catalog operations.</para> </refsect1> </refentry>