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 severals 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 XML documents from whitespace. This may work in 99% of the cases, where you want to get rid of ignorable whitespace that is 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 ideom.
- AddHiddenNewline boolean
-
Add hidden newline before ">"
- AddHiddenAttrTab boolean
-
Add hidden tabulation for attributes
- CatchEmptyElement boolean
-
Catch emtpy 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 wellformed of course, if your SAX events are wellformed.
- 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 claim "use utf8;" in the right places to make recoding work. But I dislike to claim "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.