NAME
xmlpretty - XML pretty printer
SYNOPSIS
xmlpretty [--options] [filename]
DESCRIPTION
xmlpretty is the commandline interface to XML::Handler::YAWriter, acting as a tool to add and remove pretty printing to XML files.
xmlpretty has several methods to add human readablitiy.
If you want to add readablity without adding so-called ignorable whitespace, use it in the following way :
$ xmlpretty --AddHiddenNewline \
--AddHiddenAttrTab \
--CatchEmptyElement \
uglyfile.xml > prettyfile.xml
If you do not want to process the file further, but only want it human readable, add visible whitespace to the file as follows :
$ xmlpretty --PrettyWhiteNewline \
--PrettyWhiteIndent \
--CatchEmptyElement \
uglyfile.xml > prettyfile.xml
You may use YAWriter to clean whitespace from XML documents. This may work in 99% of the cases where you want to get rid of ignorable whitespace caused by the various forms of pretty printing.
$ xmlpretty --NoWhiteSpace \
--NoComments \
--AddHiddenNewline \
--AddHiddenAttrTab \
--CatchEmptyElement \
prettyfile.xml > cleanfile.xml
Options
Options are given in a gnu like --option idiom.
- AddHiddenNewline boolean
-
Add hidden newline before ">"
- AddHiddenAttrTab boolean
-
Add hidden tabulation for attributes
- CatchEmptyElement boolean
-
Catch empty Elements, apply "/>" compression
- CatchWhiteSpace boolean
-
Catch whitespace with comments
- IsSGML boolean
-
This option will cause start_document, processing_instruction and doctype_decl to appear as SGML. The SGML is still well-formed of course, if your SAX events are well-formed.
- NoComments boolean
-
Supress Comments
- NoDTD boolean
-
Supress DTD
- NoPI boolean
-
Supress Processing Instructions
- NoProlog boolean
-
Supress <?xml ... ?> Prolog
- NoWhiteSpace boolean
-
Supress WhiteSpace to clean documents from prior pretty printing.
- PrettyWhiteIndent boolean
-
Add visible indent before any eventstring
- PrettyWhiteNewline boolean
-
Add visible newlines before any eventstring
- SAX1 boolean (not yet implemented)
-
Output only SAX1 compilant eventstrings
Bugs:
Automatic recoding between 8bit and 16bit does not yet work correctly !
I have Perl-5.6 at home and here I can specify "use utf8;" in the right places to make recoding work. But I dislike saying "use 5.00555;" because many systems run 5.00503.
AUTHOR
Michael Koehne, Kraehe@Copyleft.De
Thanks
"Derksen, Eduard (Enno), CSCIO" <enno@att.com> helped me with the Escape hash and gave quite a lot of usefull comments.