Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

hxnormalize(1) [debian man page]

HXNORMALIZE(1)							  HTML-XML-utils						    HXNORMALIZE(1)

hxnormalize - pretty-print an HTML file SYNOPSIS
hxnormalize [ -x ] [ -e ] [ -d ] [ -s ] [ -L ] [ -i indent ] [ -l line-length ] [ -c commentmagic ] [ file-or-URL ] 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. -L Remove redundant "lang" and "xml:lang" attributes. (I.e., those whose value is the same as the language inherited from the parent element.) -c commentmagic Comments are normally placed right after the preceding text. That is usually correct for short comments, but some comments are meant to be on a separate line. commentmagic is a string and when that string occurs inside a comment, hxnormalize will output an empty line before that comment. E.g. -c "====" can be used to put all comments that contain "====" on a separate line, pre- ceded by an empty line. By default, no comments are treated that way. OPERANDS
The following operand is supported: file-or-URL The name or URL of an HTML file. If absent, standard input is read instead. EXIT STATUS
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. ENVIRONMENT
To use a proxy to retrieve remote files, set the environment variables http_proxy and ftp_proxy. E.g., http_proxy="http://localhost:8080/" 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>". hxnormalize can currently only retrieve remote files over HTTP. It doesn't handle password-protected files, nor files whose content depends on HTTP "cookies." SEE ALSO
asc2xml(1), xml2asc(1), UTF-8 (RFC 2279) 6.x 10 Jul 2011 HXNORMALIZE(1)

Check Out this Related Man Page

HTML::Filter(3) 					User Contributed Perl Documentation					   HTML::Filter(3)

HTML::Filter - Filter HTML text through the parser NOTE
This module is deprecated. The "HTML::Parser" now provides the functionally of "HTML::Filter" much more efficiently with the the "default" handler. SYNOPSIS
require HTML::Filter; $p = HTML::Filter->new->parse_file("index.html"); DESCRIPTION
"HTML::Filter" is an HTML parser that by default prints the original text of each HTML element (a slow version of cat(1) basically). The callback methods may be overridden to modify the filtering for some HTML elements and you can override output() method which is called to print the HTML text. "HTML::Filter" is a subclass of "HTML::Parser". This means that the document should be given to the parser by calling the $p->parse() or $p->parse_file() methods. EXAMPLES
The first example is a filter that will remove all comments from an HTML file. This is achieved by simply overriding the comment method to do nothing. package CommentStripper; require HTML::Filter; @ISA=qw(HTML::Filter); sub comment { } # ignore comments The second example shows a filter that will remove any <TABLE>s found in the HTML file. We specialize the start() and end() methods to count table tags and then make output not happen when inside a table. package TableStripper; require HTML::Filter; @ISA=qw(HTML::Filter); sub start { my $self = shift; $self->{table_seen}++ if $_[0] eq "table"; $self->SUPER::start(@_); } sub end { my $self = shift; $self->SUPER::end(@_); $self->{table_seen}-- if $_[0] eq "table"; } sub output { my $self = shift; unless ($self->{table_seen}) { $self->SUPER::output(@_); } } If you want to collect the parsed text internally you might want to do something like this: package FilterIntoString; require HTML::Filter; @ISA=qw(HTML::Filter); sub output { push(@{$_[0]->{fhtml}}, $_[1]) } sub filtered_html { join("", @{$_[0]->{fhtml}}) } SEE ALSO
Copyright 1997-1999 Gisle Aas. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.16.3 2013-03-25 HTML::Filter(3)
Man Page

Featured Tech Videos