XML::Clean - Ensure, that (HTML) text pass throught an XML parser.
use XML::Clean; print XML::Clean::clean ("<foo bar>barfoo"); # <foo>barfoo</foo> print XML::Clean::clean ("<foo bar>barfoo",1.5); # <?xml version="1.5" encoding="ISO-8859-1"?> # <foo bar>barfoo</foo> print XML::Clean::clean ("bar <foo bar=10> bar",1.6,){root=>"XML_ROOT",encoding=>"ISO-8859-2"} ); # <?xml version="1.6" encoding="ISO-8859-2"?> # <XML_ROOT # bar <foo bar="10"> bar</foo></XML_ROOT>
The ultimate quest of this module is to produce from non-XML text text, that will will most probably pass throught any XML parser one could find.
Basic cleaning is just XML tag matching (for every opening tag there will be closing tag as well, and they will form a tree structure).
When you add some extra parameters, you will receive complete XML text, including XML head and root element (if none were defined in text, then some will be added).
Return (almost) XML text, made from input parameter $text.
$text
When $version is false, only match tags, and escapes any unmatched tags.
$version
When you pass $version parameter, than text is checked for standard XML head (<!XML VERSION=..>), and depending on options (force_root), some is added / existing is modified. Also depending on options, text is checked for root element. VERSION XML head parameter in output text is set to parameter value you pass.
Options are:
encoding - String to be added as XML encoding attribute in XML header. Defaults to ISO-8859-1.
force_root - If true, output text will have XML root. Defaults to false.
root - Output text will have that text as root element. Defaults to xml_root.
Open file called $filename, reads all text from it, pass it to clean with $version and %options, write output text to file called $filename.
$filename
%options
Die on I/O error.
This module is still under development. Not all XML errors are corrected with it.
Its otherwise too ineficient and slow:).
To install XML::Clean, copy and paste the appropriate command in to your terminal.
cpanm
cpanm XML::Clean
CPAN shell
perl -MCPAN -e shell install XML::Clean
For more information on module installation, please visit the detailed CPAN module installation guide.