Capture output from xml::writer.
use XML::Writer; use XML::Writer::String; my $s = XML::Writer::String->new(); my $writer = new XML::Writer( OUTPUT => $s ); $writer->xmlDecl(); $writer->startTag('root'); $writer->endTag(); $writer->end(); print $s->value();
This module implements a bare-bones class specifically for the purpose of capturing data from the XML::Writer module. XML::Writer expects an IO::Handle object and writes \s-1XML\s0 data to the specified object (or \s-1STDOUT\s0) via it's print() method. This module simulates such an object for the specific purpose of providing the required print() method.
It is recommended that $writer->end() is called prior to calling $s->value() to check for well-formedness.
XML::Writer::String provides three methods, \*(C`new()\*(C', \*(C`print()\*(C' and \*(C`value()\*(C': new() returns a new String handle. print() appends concatenated list data and returns number of items in list. value() returns the current content of the object as a scalar. It can also be used to initialize/overwrite the current content with concatenated list data.
This module is designed for the specific purpose of capturing the output of XML::Writer objects, as described in this document. It does not inherit form IO::Handle. For an alternative solution look at IO::Scalar, IO::Lines, IO::String or Tie::Handle::Scalar.
Simon Oliver <[email protected]>
Copyright (C) 2002 Simon Oliver
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
XML::Writer, IO::Handle, IO::Scalar