Perl XML::Writer Module

David Megginson david at
Mon Apr 19 23:28:30 BST 1999

[NOTE: I already announced this on the perl-xml mailing list, but I
realised that I should do so here as well.]

I needed this, so I wrote it this morning:

(I've also sent an upload to CPAN, but it might take a while to
appear).  Here's a very simple synopsis:

  use XML::Writer;
  use IO;

  my $output = new IO::File(">output.xml");
  my $writer = new XML::Writer($output);

                    "class" => "simple");
  $writer->characters("Hello, world!");


(You can also leave out the $output argument if you want to go
straight to STDOUT.)

By default, the module does a fair bit of well-formedness checking to
help you catch bugs in your Perl programs -- you can turn the checking 
off for production use if you like to live on the wild side.

Here are the errors that the module catches so far:

- Lack of a (top-level) document element, or multiple document elements.
- Unclosed start tags.
- Misplaced delimiters in the contents of processing instructions or
- Misplaced or duplicate XML declaration(s).
- Misplaced or duplicate DOCTYPE declaration(s).
- Mismatch between the document type name in the DOCTYPE declaration and
  the name of the document element.
- Mismatched start and end tags.
- Attempts to insert character data outside the document element.
- Duplicate attributes with the same name.

Full POD documentation and a lot of test cases in are



David Megginson                 david at

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list