Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
XMLLINT(1)							    XMLLINT(1)

       xmllint - command line XML tool

       xmllint [--version --debug --shell --debugent --copy --recover --noent
	       --noout --nonet --path "PATH(S)"	--load-trace --htmlout
	       --nowrap	--valid	--postvalid --dtdvalid URL --dtdvalidfpi FPI
	       --timing	--output FILE --repeat --insert	--compress --html
	       --xmlout	--push --memory	--maxmem NBBYTES --nowarning
	       --noblanks --nocdata --format --encode ENCODING --dropdtd
	       --nsclean --testIO --catalogs --nocatalogs --auto --xinclude
	       --noxincludenode	--loaddtd --dtdattr --stream --walker
	       --pattern PATTERNVALUE --chkregister --relaxng SCHEMA
	       --schema	SCHEMA --c14n] {XML-FILE(S)... -}

       xmllint --help

       The xmllint program parses one or more XML files, specified on the
       command line as XML-FILE	(or the	standard input if the filename
       provided	is - ).	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.

       xmllint is included in libxml(3).

       xmllint accepts the following options (in alphabetical order):

       --auto Generate a small document	for testing purposes.

	      Use the SGML catalog(s) from SGML_CATALOG_FILES. Otherwise XML
	      catalogs starting	from /etc/xml/catalog are used by default.

	      Turn on node registration. Useful	for developers testing
	      libxml(3)	node tracking code.

	      Turn on gzip(1) compression of output.

       --copy Test the internal	copy implementation.

       --c14n Use the W3C XML Canonicalisation (C14N) to serialize the result
	      of parsing to stdout. It keeps comments in the result.

       --dtdvalid URL
	      Use the DTD specified by an URL for validation.

       --dtdvalidfpi FPI
	      Use the DTD specified by a Formal	Public Identifier FPI for
	      validation, note that this will require a	catalog	exporting that
	      Formal Public Identifier to work.

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

	      Debug the	entities defined in the	document.

	      Remove DTD from output.

	      Fetch external DTD and populate the tree with inherited

       --encode	ENCODING
	      Output in	the given encoding.

	      Reformat and reindent the	output.	The XMLLINT_INDENT environment
	      variable controls	the indentation. The default value is two
	      spaces " ").

       --help Print out	a short	usage summary for xmllint.

       --html Use the HTML parser.

	      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/viewed in a browser.

	      Test for valid insertions.

	      Fetch an external	DTD.

	      Display all the documents	loaded during the processing to

       --maxmem	NNBYTES
	      Test the parser memory support.  NNBYTES is the maximum number
	      of bytes the library is allowed to allocate. This	can also be
	      used to make sure	batch processing of XML	files will not exhaust
	      the virtual memory of the	server running them.

	      Parse from memory.

	      Drop ignorable blank spaces.

	      Do not use any catalogs.

	      Substitute CDATA section by equivalent text nodes.

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

	      Do not use the Internet to fetch DTDs or entities.

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

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

	      Do not output HTML doc wrapper.

	      Do XInclude processing but do not	generate XInclude start	and
	      end nodes.

	      Remove redundant namespace declarations.

       --output	FILE
	      Define a file path where xmllint will save the result of
	      parsing. Usually the programs build a tree and save it on
	      stdout, with this	option the result XML instance will be saved
	      onto a file.

       --path "PATH(S)"
	      Use the (space- or colon-separated) list of filesystem paths
	      specified	by PATHS to load DTDs or entities. Enclose
	      space-separated lists by quotation marks.

       --pattern PATTERNVALUE
	      Used to exercise the pattern recognition engine, which can be
	      used with	the reader interface to	the parser. It allows to
	      select some nodes	in the document	based on an XPath (subset)
	      expression. Used for debugging.

	      Validate after parsing has completed.

       --push Use the push mode	of the parser.

	      Output any parsable portions of an invalid document.

       --relaxng SCHEMA
	      Use RelaxNG file named SCHEMA for	validation.

	      Repeat 100 times,	for timing or profiling.

       --schema	SCHEMA
	      Use a W3C	XML Schema file	named SCHEMA for validation.

	      Run a navigating shell. Details on available commands in shell
	      mode are below (see the section called "SHELL COMMANDS").

	      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.

	      Test user	input/output support.

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

	      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 --dtdvalid
	      option. By default, xmllint also checks to determine if the
	      document is well-formed.

	      Display the version of libxml(3) used.

	      Test the walker module, which is a reader	interface but for a
	      document tree, instead of	using the reader API on	an unparsed
	      document it works	on an existing in-memory tree. Used for

	      Do XInclude processing.

	      Used in conjunction with --html. Usually when HTML is parsed the
	      document is saved	with the HTML serializer. But with this	option
	      the resulting document is	saved with the XML serializer. This is
	      primarily	used to	generate XHTML from HTML input.

       xmllint offers an interactive shell mode	invoked	with the --shell
       command.	Available commands in shell mode include (in alphabetical

       base   Display XML base of the node.

       bye    Leave the	shell.

       cat NODE
	      Display the given	node or	the current one.

       cd PATH
	      Change the current node to the given path	(if unique) or root if
	      no argument is given.

       dir PATH
	      Dumps information	about the node (namespace, attributes,

       du PATH
	      Show the structure of the	subtree	under the given	path or	the
	      current node.

       exit   Leave the	shell.

       help   Show this	help.

       free   Display memory usage.

       load FILENAME
	      Load a new document with the given filename.

       ls PATH
	      List contents of the given path or the current directory.

       pwd    Display the path to the current node.

       quit   Leave the	shell.

       save FILENAME
	      Save the current document	to the given filename or to the
	      original name.

	      Check the	document for errors.

       write FILENAME
	      Write the	current	node to	the given filename.

	      SGML catalog behavior can	be changed by redirecting queries to
	      the user's own set of catalogs. This can be done by setting the
	      SGML_CATALOG_FILES environment variable to a list	of catalogs.
	      An empty one should deactivate loading the default
	      /etc/sgml/catalog	catalog.

	      XML catalog behavior can be changed by redirecting queries to
	      the user's own set of catalogs. This can be done by setting the
	      XML_CATALOG_FILES	environment variable to	a list of catalogs. An
	      empty one	should deactivate loading the default /etc/xml/catalog

	      Setting the environment variable XML_DEBUG_CATALOG to non-zero
	      using the	export command outputs debugging information related
	      to catalog operations.

	      Setting the environment variable XMLLINT_INDENT controls the
	      indentation. The default value is	two spaces " ".

       xmllint return codes provide information	that can be used when calling
       it from scripts.

       0      No error

       1      Unclassified

       2      Error in DTD

       3      Validation error

       4      Validation error

       5      Error in schema compilation

       6      Error writing output

       7      Error in pattern (generated when --pattern option	is used)

       8      Error in Reader registration (generated when --chkregister
	      option is	used)

       9      Out of memory error


       More information	can be found at

       o  libxml(3) web	page

       o  W3C XSLT page

       John Fleck <>, Ziying	Sherwin	<>,
       Heiko Rupp <>.

libxml2				    $Date$			    XMLLINT(1)


Want to link to this manual page? Use this URL:

home | help