---
name: "xmlpretty"
section: "1p"
platform: "linux"
package: "libxml-handler-yawriter-perl"
version: "0.23-9"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/xmlpretty"
---

# xmlpretty(1p)

XML pretty printer

## 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 useful comments.

## SEE ALSO

perl and XML::Parser::PerlSAX
