NAME
HTML2XHTML - Wrapper to command-line program that converts from HTML 3.x/4.x to XHTML 1.0
SYNOPSIS
use HTML2XHTML;
OR
require HTML2XHTML;
To convert an HTML file (and no external CSS file) to XHTML:
my $foo = new HTML2XHTML(file_name = '..//foo//foo.html');
my $foo = new HTML2XHTML(file = '..\foo\foo.html');
my $foo = new HTML2XHTML(file = 'C://My Documents//foo//foo.html');
my $foo = new HTML2XHTML(file_name = '../foo/foo.html');
To convert HTML files and external CSS files to XHTML:
my $foo = new HTML2XHTML(file_name = 'foo.html, foo.css, foo2.html, foo3.html, bar.css');
To convert a directory to XHTML:
my $foo = new HTML2XHTML(dir = '../foo');
To convert the current directory of HTML files and external CSS files to XHTML:
my $foo = new HTML2XHTML(dir = 'current');
DESCRIPTION
HTML2XHTML is my first attempt at writing a module and distribution. It is a pure Perl implementation written to convert an HTML 4.01 Transitional page to XHTML 1.0 Strict (there is no check for usage of deprecated tags). I had been writing for almost a year now validating/conforming HTML 4.01 code, but had never bothered to go the extra steps to use XHTML. This module also supports converting external CSS documents and a directory of HTML and/or CSS documents.
There is support for more than 150 HTML 3.x/4.x tags, including tags that have been deprecated in versions 3.x or 4.x (to maintain compatibility with the current document structure). In the next version, the deprecated tags may be replaced programmatically with the updated tag or module to (really) conform to XHTML 1.0 standards.
The original script was designed to be ran from the command-line with option flags for either a directory or files to be converted, and 2 days after completing the original, it was decided to create a module to act as a wrapper for the command-line program.
For those interested in command-line options, see below:
You can specify a whole directory to be converted either by putting 'dir' or 'directory' after the name of the command-line script followed by the name of the directory.
perl convert_xhtml2.pl dir|directory [relative|absolute directory path] foo
perl convert_xhtml2.pl dir current
perl convert_xhtml2.pl directory ../foo/
You can also specify an HTML document, CSS document, or multiple documents (including the directory path if not in the same directory as the program) to convert followed by commas.
perl convert_xhtml2.pl [relative|absolute directory path] foo.html
perl convert_xhtml2.pl ../bar/foo.html, bar.css
METHODS
my $foo = new HTML2XHTML(file_name = '..//foo//foo.html');
This method invokes the command-line program with the options passed. The options can either be a list of file names (either absolute or relative path) separated by commas, or the name of a directory.
For files, there is an abbreviated form of the key, which is 'file', if you do not wish to write 'file_name'.
PREREQUISITES
This module requires Cwd and Perl 5.001 or later.
EXPORT
None by default.
SEE ALSO
http://www.w3.org/TR/xhtml1/ XHTML 1.0 The Extensible HyperText Markup Language (Second Edition),
http://search.cpan.org/~kwilliams/PathTools-3.23/Cwd.pm Cwd
AUTHOR
Obiora Embry
COPYRIGHT AND LICENSE
Copyright (C) 2006 by Obiora Embry
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.7 or, at your option, any later version of Perl 5 you may have available.
2 POD Errors
The following errors were encountered while parsing the POD:
- Around line 17:
Unterminated B<...> sequence
- Around line 29:
Unterminated B<...> sequence