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

FreeBSD Manual Pages


home | help
XMLLINT(1)			xmllint	Manual			    XMLLINT(1)

       xmllint - command line XML tool

       xmllint [--version | --debug | --shell |	--xpath	"XPath_expression" |
	       --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):

	   Generate a small document for testing purposes.

	   Use the SGML	catalog(s) from	SGML_CATALOG_FILES. Otherwise XML
	   catalogs starting from /usr/local/share/xml/catalog are used	by

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

	   Turn	on gzip(1) compression of output.

	   Test	the internal copy implementation.

	   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 attributes.

       --encode	ENCODING
	   Output in the given encoding. Note that this	works for full
	   document not	fragments or result from XPath queries.

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

	   Print out a short usage summary for xmllint.

	   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 stderr.

       --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

	   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.

	   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").

       --xpath "XPath_expression"
	   Run an XPath	expression given as argument and print the result. In
	   case	of a nodeset result, each node in the node set is serialized
	   in full in the output. In case of an	empty node set the "XPath set
	   is empty" result will be shown and an error exit code will be

	   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

	   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

	   Display XML base of the node.

	   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, content).

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

	   Leave the shell.

	   Show	this help.

	   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.

	   Display the path to the current node.

	   Leave the shell.

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

	   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
	   /usr/local/share/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 space-separated list of
	   catalogs. Use percent-encoding to escape spaces or other
	   characters. An empty	variable should	deactivate loading the default
	   /usr/local/share/xml/catalog	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.

	   No error


	   Error in DTD

	   Validation error

	   Validation error

	   Error in schema compilation

	   Error writing output

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

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

	   Out of memory error

	   XPath evaluation error


       More information	can be found at

       o   libxml(3) web page

       John Fleck <>

       Ziying Sherwin <>

       Heiko Rupp <>

       Copyright (C) 2001, 2004

libxml2				  02/19/2022			    XMLLINT(1)


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

home | help