mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2024-12-31 17:17:37 +03:00
639 lines
13 KiB
Groff
639 lines
13 KiB
Groff
'\" t
|
|
.\" Title: xmllint
|
|
.\" Author: John Fleck <jfleck@inkstain.net>
|
|
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
|
|
.\" Date: 08/17/2022
|
|
.\" Manual: xmllint Manual
|
|
.\" Source: libxml2
|
|
.\" Language: English
|
|
.\"
|
|
.TH "XMLLINT" "1" "08/17/2022" "libxml2" "xmllint Manual"
|
|
.\" -----------------------------------------------------------------
|
|
.\" * Define some portability stuff
|
|
.\" -----------------------------------------------------------------
|
|
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
.\" http://bugs.debian.org/507673
|
|
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
|
|
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
.ie \n(.g .ds Aq \(aq
|
|
.el .ds Aq '
|
|
.\" -----------------------------------------------------------------
|
|
.\" * set default formatting
|
|
.\" -----------------------------------------------------------------
|
|
.\" disable hyphenation
|
|
.nh
|
|
.\" disable justification (adjust text to left margin only)
|
|
.ad l
|
|
.\" -----------------------------------------------------------------
|
|
.\" * MAIN CONTENT STARTS HERE *
|
|
.\" -----------------------------------------------------------------
|
|
.SH "NAME"
|
|
xmllint \- command line XML tool
|
|
.SH "SYNOPSIS"
|
|
.HP \w'\fBxmllint\fR\ 'u
|
|
\fBxmllint\fR [\fB\-\-version\fR | \fB\-\-debug\fR | \fB\-\-shell\fR | \fB\-\-xpath\ "\fR\fB\fIXPath_expression\fR\fR\fB"\fR | \fB\-\-debugent\fR | \fB\-\-copy\fR | \fB\-\-recover\fR | \fB\-\-noent\fR | \fB\-\-noout\fR | \fB\-\-nonet\fR | \fB\-\-path\ "\fR\fB\fIPATH(S)\fR\fR\fB"\fR | \fB\-\-load\-trace\fR | \fB\-\-htmlout\fR | \fB\-\-nowrap\fR | \fB\-\-valid\fR | \fB\-\-postvalid\fR | \fB\-\-dtdvalid\ \fR\fB\fIURL\fR\fR | \fB\-\-dtdvalidfpi\ \fR\fB\fIFPI\fR\fR | \fB\-\-timing\fR | \fB\-\-output\ \fR\fB\fIFILE\fR\fR | \fB\-\-repeat\fR | \fB\-\-insert\fR | \fB\-\-compress\fR | \fB\-\-html\fR | \fB\-\-xmlout\fR | \fB\-\-push\fR | \fB\-\-memory\fR | \fB\-\-maxmem\ \fR\fB\fINBBYTES\fR\fR | \fB\-\-nowarning\fR | \fB\-\-noblanks\fR | \fB\-\-nocdata\fR | \fB\-\-format\fR | \fB\-\-encode\ \fR\fB\fIENCODING\fR\fR | \fB\-\-dropdtd\fR | \fB\-\-nsclean\fR | \fB\-\-testIO\fR | \fB\-\-catalogs\fR | \fB\-\-nocatalogs\fR | \fB\-\-auto\fR | \fB\-\-xinclude\fR | \fB\-\-noxincludenode\fR | \fB\-\-loaddtd\fR | \fB\-\-dtdattr\fR | \fB\-\-stream\fR | \fB\-\-walker\fR | \fB\-\-pattern\ \fR\fB\fIPATTERNVALUE\fR\fR | \fB\-\-chkregister\fR | \fB\-\-relaxng\ \fR\fB\fISCHEMA\fR\fR | \fB\-\-schema\ \fR\fB\fISCHEMA\fR\fR | \fB\-\-c14n\fR] {\fIXML\-FILE(S)\fR... | \-}
|
|
.HP \w'\fBxmllint\fR\ 'u
|
|
\fBxmllint\fR \fB\-\-help\fR
|
|
.SH "DESCRIPTION"
|
|
.PP
|
|
The
|
|
\fBxmllint\fR
|
|
program parses one or more
|
|
XML
|
|
files, specified on the command line as
|
|
\fIXML\-FILE\fR
|
|
(or the standard input if the filename provided is
|
|
\fB\-\fR
|
|
)\&. 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\&.
|
|
.PP
|
|
\fBxmllint\fR
|
|
is included in
|
|
\fBlibxml\fR(3)\&.
|
|
.SH "OPTIONS"
|
|
.PP
|
|
\fBxmllint\fR
|
|
accepts the following options (in alphabetical order):
|
|
.PP
|
|
\fB\-\-auto\fR
|
|
.RS 4
|
|
Generate a small document for testing purposes\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-catalogs\fR
|
|
.RS 4
|
|
Use the
|
|
SGML
|
|
catalog(s) from
|
|
\fBSGML_CATALOG_FILES\fR\&. Otherwise
|
|
XML
|
|
catalogs starting from
|
|
/etc/xml/catalog
|
|
are used by default\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-chkregister\fR
|
|
.RS 4
|
|
Turn on node registration\&. Useful for developers testing
|
|
\fBlibxml\fR(3)
|
|
node tracking code\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-compress\fR
|
|
.RS 4
|
|
Turn on
|
|
\fBgzip\fR(1)
|
|
compression of output\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-copy\fR
|
|
.RS 4
|
|
Test the internal copy implementation\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-c14n\fR
|
|
.RS 4
|
|
Use the W3C
|
|
XML
|
|
Canonicalisation (C14N) to serialize the result of parsing to
|
|
stdout\&. It keeps comments in the result\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-dtdvalid \fR\fB\fIURL\fR\fR
|
|
.RS 4
|
|
Use the
|
|
DTD
|
|
specified by an
|
|
\fIURL\fR
|
|
for validation\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-dtdvalidfpi \fR\fB\fIFPI\fR\fR
|
|
.RS 4
|
|
Use the
|
|
DTD
|
|
specified by a Formal Public Identifier
|
|
\fIFPI\fR
|
|
for validation, note that this will require a catalog exporting that Formal Public Identifier to work\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-debug\fR
|
|
.RS 4
|
|
Parse a file and output an annotated tree of the in\-memory version of the document\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-debugent\fR
|
|
.RS 4
|
|
Debug the entities defined in the document\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-dropdtd\fR
|
|
.RS 4
|
|
Remove
|
|
DTD
|
|
from output\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-dtdattr\fR
|
|
.RS 4
|
|
Fetch external
|
|
DTD
|
|
and populate the tree with inherited attributes\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-encode \fR\fB\fIENCODING\fR\fR
|
|
.RS 4
|
|
Output in the given encoding\&. Note that this works for full document not fragments or result from XPath queries\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-format\fR
|
|
.RS 4
|
|
Reformat and reindent the output\&. The
|
|
\fBXMLLINT_INDENT\fR
|
|
environment variable controls the indentation\&. The default value is two spaces " ")\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-help\fR
|
|
.RS 4
|
|
Print out a short usage summary for
|
|
\fBxmllint\fR\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-html\fR
|
|
.RS 4
|
|
Use the
|
|
HTML
|
|
parser\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-htmlout\fR
|
|
.RS 4
|
|
Output results as an
|
|
HTML
|
|
file\&. This causes
|
|
\fBxmllint\fR
|
|
to output the necessary
|
|
HTML
|
|
tags surrounding the result tree output so the results can be displayed/viewed in a browser\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-insert\fR
|
|
.RS 4
|
|
Test for valid insertions\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-loaddtd\fR
|
|
.RS 4
|
|
Fetch an external
|
|
DTD\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-load\-trace\fR
|
|
.RS 4
|
|
Display all the documents loaded during the processing to
|
|
stderr\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-maxmem \fR\fB\fINNBYTES\fR\fR
|
|
.RS 4
|
|
Test the parser memory support\&.
|
|
\fINNBYTES\fR
|
|
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\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-memory\fR
|
|
.RS 4
|
|
Parse from memory\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-noblanks\fR
|
|
.RS 4
|
|
Drop ignorable blank spaces\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-nocatalogs\fR
|
|
.RS 4
|
|
Do not use any catalogs\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-nocdata\fR
|
|
.RS 4
|
|
Substitute CDATA section by equivalent text nodes\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-noent\fR
|
|
.RS 4
|
|
Substitute entity values for entity references\&. By default,
|
|
\fBxmllint\fR
|
|
leaves entity references in place\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-nonet\fR
|
|
.RS 4
|
|
Do not use the Internet to fetch
|
|
DTDs or entities\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-noout\fR
|
|
.RS 4
|
|
Suppress output\&. By default,
|
|
\fBxmllint\fR
|
|
outputs the result tree\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-nowarning\fR
|
|
.RS 4
|
|
Do not emit warnings from the parser and/or validator\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-nowrap\fR
|
|
.RS 4
|
|
Do not output
|
|
HTML
|
|
doc wrapper\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-noxincludenode\fR
|
|
.RS 4
|
|
Do XInclude processing but do not generate XInclude start and end nodes\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-nsclean\fR
|
|
.RS 4
|
|
Remove redundant namespace declarations\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-output \fR\fB\fIFILE\fR\fR
|
|
.RS 4
|
|
Define a file path where
|
|
\fBxmllint\fR
|
|
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\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-path "\fR\fB\fIPATH(S)\fR\fR\fB"\fR
|
|
.RS 4
|
|
Use the (space\- or colon\-separated) list of filesystem paths specified by
|
|
\fIPATHS\fR
|
|
to load
|
|
DTDs or entities\&. Enclose space\-separated lists by quotation marks\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-pattern \fR\fB\fIPATTERNVALUE\fR\fR
|
|
.RS 4
|
|
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\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-postvalid\fR
|
|
.RS 4
|
|
Validate after parsing has completed\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-push\fR
|
|
.RS 4
|
|
Use the push mode of the parser\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-recover\fR
|
|
.RS 4
|
|
Output any parsable portions of an invalid document\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-relaxng \fR\fB\fISCHEMA\fR\fR
|
|
.RS 4
|
|
Use RelaxNG file named
|
|
\fISCHEMA\fR
|
|
for validation\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-repeat\fR
|
|
.RS 4
|
|
Repeat 100 times, for timing or profiling\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-schema \fR\fB\fISCHEMA\fR\fR
|
|
.RS 4
|
|
Use a W3C
|
|
XML
|
|
Schema file named
|
|
\fISCHEMA\fR
|
|
for validation\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-shell\fR
|
|
.RS 4
|
|
Run a navigating shell\&. Details on available commands in shell mode are below (see
|
|
the section called \(lqSHELL COMMANDS\(rq)\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-xpath "\fR\fB\fIXPath_expression\fR\fR\fB"\fR
|
|
.RS 4
|
|
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\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-stream\fR
|
|
.RS 4
|
|
Use streaming
|
|
API
|
|
\- useful when used in combination with
|
|
\fB\-\-relaxng\fR
|
|
or
|
|
\fB\-\-valid\fR
|
|
options for validation of files that are too large to be held in memory\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-testIO\fR
|
|
.RS 4
|
|
Test user input/output support\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-timing\fR
|
|
.RS 4
|
|
Output information about the time it takes
|
|
\fBxmllint\fR
|
|
to perform the various steps\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-valid\fR
|
|
.RS 4
|
|
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
|
|
\fB\-\-dtdvalid\fR
|
|
option\&. By default,
|
|
\fBxmllint\fR
|
|
also checks to determine if the document is well\-formed\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-version\fR
|
|
.RS 4
|
|
Display the version of
|
|
\fBlibxml\fR(3)
|
|
used\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-walker\fR
|
|
.RS 4
|
|
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\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-xinclude\fR
|
|
.RS 4
|
|
Do XInclude processing\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-xmlout\fR
|
|
.RS 4
|
|
Used in conjunction with
|
|
\fB\-\-html\fR\&. 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\&.
|
|
.RE
|
|
.SH "SHELL COMMANDS"
|
|
.PP
|
|
\fBxmllint\fR
|
|
offers an interactive shell mode invoked with the
|
|
\fB\-\-shell\fR
|
|
command\&. Available commands in shell mode include (in alphabetical order):
|
|
.PP
|
|
\fBbase\fR
|
|
.RS 4
|
|
Display
|
|
XML
|
|
base of the node\&.
|
|
.RE
|
|
.PP
|
|
\fBbye\fR
|
|
.RS 4
|
|
Leave the shell\&.
|
|
.RE
|
|
.PP
|
|
\fBcat \fR\fB\fINODE\fR\fR
|
|
.RS 4
|
|
Display the given node or the current one\&.
|
|
.RE
|
|
.PP
|
|
\fBcd \fR\fB\fIPATH\fR\fR
|
|
.RS 4
|
|
Change the current node to the given path (if unique) or root if no argument is given\&.
|
|
.RE
|
|
.PP
|
|
\fBdir \fR\fB\fIPATH\fR\fR
|
|
.RS 4
|
|
Dumps information about the node (namespace, attributes, content)\&.
|
|
.RE
|
|
.PP
|
|
\fBdu \fR\fB\fIPATH\fR\fR
|
|
.RS 4
|
|
Show the structure of the subtree under the given path or the current node\&.
|
|
.RE
|
|
.PP
|
|
\fBexit\fR
|
|
.RS 4
|
|
Leave the shell\&.
|
|
.RE
|
|
.PP
|
|
\fBhelp\fR
|
|
.RS 4
|
|
Show this help\&.
|
|
.RE
|
|
.PP
|
|
\fBfree\fR
|
|
.RS 4
|
|
Display memory usage\&.
|
|
.RE
|
|
.PP
|
|
\fBload \fR\fB\fIFILENAME\fR\fR
|
|
.RS 4
|
|
Load a new document with the given filename\&.
|
|
.RE
|
|
.PP
|
|
\fBls \fR\fB\fIPATH\fR\fR
|
|
.RS 4
|
|
List contents of the given path or the current directory\&.
|
|
.RE
|
|
.PP
|
|
\fBpwd\fR
|
|
.RS 4
|
|
Display the path to the current node\&.
|
|
.RE
|
|
.PP
|
|
\fBquit\fR
|
|
.RS 4
|
|
Leave the shell\&.
|
|
.RE
|
|
.PP
|
|
\fBsave \fR\fB\fIFILENAME\fR\fR
|
|
.RS 4
|
|
Save the current document to the given filename or to the original name\&.
|
|
.RE
|
|
.PP
|
|
\fBvalidate\fR
|
|
.RS 4
|
|
Check the document for errors\&.
|
|
.RE
|
|
.PP
|
|
\fBwrite \fR\fB\fIFILENAME\fR\fR
|
|
.RS 4
|
|
Write the current node to the given filename\&.
|
|
.RE
|
|
.SH "ENVIRONMENT"
|
|
.PP
|
|
\fBSGML_CATALOG_FILES\fR
|
|
.RS 4
|
|
SGML
|
|
catalog behavior can be changed by redirecting queries to the user\*(Aqs own set of catalogs\&. This can be done by setting the
|
|
\fBSGML_CATALOG_FILES\fR
|
|
environment variable to a list of catalogs\&. An empty one should deactivate loading the default
|
|
/etc/sgml/catalog
|
|
catalog\&.
|
|
.RE
|
|
.PP
|
|
\fBXML_CATALOG_FILES\fR
|
|
.RS 4
|
|
XML
|
|
catalog behavior can be changed by redirecting queries to the user\*(Aqs own set of catalogs\&. This can be done by setting the
|
|
\fBXML_CATALOG_FILES\fR
|
|
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
|
|
/etc/xml/catalog
|
|
catalog\&.
|
|
.RE
|
|
.PP
|
|
\fBXML_DEBUG_CATALOG\fR
|
|
.RS 4
|
|
Setting the environment variable
|
|
\fBXML_DEBUG_CATALOG\fR
|
|
to
|
|
\fInon\-zero\fR
|
|
using the
|
|
\fBexport\fR
|
|
command outputs debugging information related to catalog operations\&.
|
|
.RE
|
|
.PP
|
|
\fBXMLLINT_INDENT\fR
|
|
.RS 4
|
|
Setting the environment variable
|
|
\fBXMLLINT_INDENT\fR
|
|
controls the indentation\&. The default value is two spaces " "\&.
|
|
.RE
|
|
.SH "DIAGNOSTICS"
|
|
.PP
|
|
\fBxmllint\fR
|
|
return codes provide information that can be used when calling it from scripts\&.
|
|
.PP
|
|
\fB0\fR
|
|
.RS 4
|
|
No error
|
|
.RE
|
|
.PP
|
|
\fB1\fR
|
|
.RS 4
|
|
Unclassified
|
|
.RE
|
|
.PP
|
|
\fB2\fR
|
|
.RS 4
|
|
Error in
|
|
DTD
|
|
.RE
|
|
.PP
|
|
\fB3\fR
|
|
.RS 4
|
|
Validation error
|
|
.RE
|
|
.PP
|
|
\fB4\fR
|
|
.RS 4
|
|
Validation error
|
|
.RE
|
|
.PP
|
|
\fB5\fR
|
|
.RS 4
|
|
Error in schema compilation
|
|
.RE
|
|
.PP
|
|
\fB6\fR
|
|
.RS 4
|
|
Error writing output
|
|
.RE
|
|
.PP
|
|
\fB7\fR
|
|
.RS 4
|
|
Error in pattern (generated when
|
|
\fB\-\-pattern\fR
|
|
option is used)
|
|
.RE
|
|
.PP
|
|
\fB8\fR
|
|
.RS 4
|
|
Error in Reader registration (generated when
|
|
\fB\-\-chkregister\fR
|
|
option is used)
|
|
.RE
|
|
.PP
|
|
\fB9\fR
|
|
.RS 4
|
|
Out of memory error
|
|
.RE
|
|
.PP
|
|
\fB10\fR
|
|
.RS 4
|
|
XPath evaluation error
|
|
.RE
|
|
.SH "SEE ALSO"
|
|
.PP
|
|
\fBlibxml\fR(3)
|
|
.PP
|
|
More information can be found at
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP \(bu 2.3
|
|
.\}
|
|
\fBlibxml\fR(3)
|
|
web page
|
|
\m[blue]\fB\%https://gitlab.gnome.org/GNOME/libxml2\fR\m[]
|
|
.RE
|
|
.sp
|
|
.SH "AUTHORS"
|
|
.PP
|
|
\fBJohn Fleck\fR <\&jfleck@inkstain\&.net\&>
|
|
.RS 4
|
|
Author.
|
|
.RE
|
|
.PP
|
|
\fBZiying Sherwin\fR <\&sherwin@nlm\&.nih\&.gov\&>
|
|
.RS 4
|
|
Author.
|
|
.RE
|
|
.PP
|
|
\fBHeiko Rupp\fR <\&hwr@pilhuhn\&.de\&>
|
|
.RS 4
|
|
Author.
|
|
.RE
|
|
.SH "COPYRIGHT"
|
|
.br
|
|
Copyright \(co 2001, 2004
|
|
.br
|