NAME
hxnormalize - pretty-print an HTML file
SYNOPSIS
hxnormalize [ -x ] [ -e ] [ -d ] [ -s ] [ -i indent ] [ -l line-length
] [ file ]
DESCRIPTION
The hxnormalize command pretty-prints an HTML file, and also tries to
fix small errors. The output is the same HTML, but with a maximum line
length and with optional indentation to indicate the nesting level of
each line.
OPTIONS
The following options are supported:
-x Use XML conventions: empty elements are written with a slash
at the end: <IMG />. Implies -e.
-e Always insert endtags, even if HTML does not require them
(for example: </p> and </li>).
-d Omit the DOCTYPE from the output.
-i indent Set the number of spaces to indent each nesting level.
Default is 2. Not all elements cause an indent. In general,
elements that can occur in a block environment are started on
a new line and cause an indent, but inline elements, such as
EM and SPAN do not cause an indent.
-l line-length
Sets the maximum length of lines. hxnormalize will wrap
lines so that all lines are as long as possible, but no
longer than this length. Default is 72. Words that are longer
than the line length will not be broken, and will extend past
this length. A
content of the STYLE, SCRIPT and PRE elements will not be
line-wrapped.
-s Omit <span> tags that don’t have any attributes.
OPERANDS
The following operand is supported:
file The name of an HTML file. If absent, standard input is read
instead.
DIAGNOSTICS
The following exit values are returned:
0 Successful completion.
> 0 An error occurred in the parsing of the HTML file.
hxnormalize will try to correct the error and produce output
anyway.
SEE ALSO
asc2xml(1), xml2asc(1), UTF-8 (RFC 2279)
BUGS
The error recovery for incorrect HTML is primitive.
hxnormalize will not omit an endtag if the white space after it could
possibly be significant. E.g., it will not remove the first </p> from
"<div><p>text</p> <p>text</p></div>".