---
name: "XML::Handler::CanonXMLWriter"
section: "3pm"
platform: "linux"
package: "libxml-perl"
version: "0.08-9"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XML::Handler::CanonXMLWriter"
---

# XML::Handler::CanonXMLWriter(3pm)

output XML in canonical XML format

## NAME

XML::Handler::CanonXMLWriter - output XML in canonical XML format

## SYNOPSIS

```
 use XML::Handler::CanonXMLWriter;
 $writer = XML::Handler::CanonXMLWriter OPTIONS;
 $parser->parse(Handler => $writer);
```

## DESCRIPTION

`"XML::Handler::CanonXMLWriter"` is a PerlSAX handler that will return a string or write a stream of canonical XML for an XML instance and it's content.

`"XML::Handler::CanonXMLWriter"` objects hold the options used for writing the XML objects.  Options can be supplied when the the object is created,

```
    $writer = new XML::Handler::CanonXMLWriter PrintComments => 1;
```

or modified at any time before calling the parser's \``parse()`' method:

```
    $writer->{PrintComments} = 0;
```

## OPTIONS

- IOHandle

  IOHandle contains a handle for writing the canonical XML to.  If an IOHandle is not provided, the canonical XML string will be returned from \``parse()`'.

- PrintComments

  By default comments are not written to the output.  Setting comment to a true value will include comments in the output.

## AUTHOR

Ken MacLeod, ken@bitsko.slc.ut.us

## SEE ALSO

[**perl**(1)](/perl/1.md), PerlSAX

James Clark's Canonical XML definition \<http://www.jclark.com/xml/canonxml.html\>
