xmllint(1)


NAME

   xmllint - command line XML tool

SYNOPSIS

   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

DESCRIPTION

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

OPTIONS

   xmllint accepts the following options (in alphabetical order):

   --auto
       Generate a small document for testing purposes.

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

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

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

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

   --debugent
       Debug the entities defined in the document.

   --dropdtd
       Remove DTD from output.

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

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

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

   --insert
       Test for valid insertions.

   --loaddtd
       Fetch an external DTD.

   --load-trace
       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.

   --memory
       Parse from memory.

   --noblanks
       Drop ignorable blank spaces.

   --nocatalogs
       Do not use any catalogs.

   --nocdata
       Substitute CDATA section by equivalent text nodes.

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

   --nonet
       Do not use the Internet to fetch DTDs or entities.

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

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

   --nowrap
       Do not output HTML doc wrapper.

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

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

   --postvalid
       Validate after parsing has completed.

   --push
       Use the push mode of the parser.

   --recover
       Output any parsable portions of an invalid document.

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

   --repeat
       Repeat 100 times, for timing or profiling.

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

   --shell
       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
       returned.

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

   --testIO
       Test user input/output support.

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

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

   --version
       Display the version of libxml(3) used.

   --walker
       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
       debugging.

   --xinclude
       Do XInclude processing.

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

SHELL COMMANDS

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

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

   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.

   validate
       Check the document for errors.

   write FILENAME
       Write the current node to the given filename.

ENVIRONMENT

   SGML_CATALOG_FILES
       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_FILES
       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
       catalog.

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

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

DIAGNOSTICS

   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

SEE ALSO

   libxml(3)

   More information can be found at

   *   libxml(3) web page http://www.xmlsoft.org/

   *   W3C XSLT page http://www.w3.org/TR/xslt

AUTHORS

   John Fleck <jfleck@inkstain.net>
       Author.

   Ziying Sherwin <sherwin@nlm.nih.gov>
       Author.

   Heiko Rupp <hwr@pilhuhn.de>
       Author.

COPYRIGHT

   Copyright  2001, 2004





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.