# XML::Writer::String - Capture output from XML::Writer. - perldoc - [phpMan]

## NAME
    [XML::Writer::String](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AWriter%3A%3AString/markdown) - Capture output from [XML::Writer](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AWriter/markdown).

## SYNOPSIS
      use [XML::Writer](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AWriter/markdown);
      use [XML::Writer::String](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AWriter%3A%3AString/markdown);

      my $s = [XML::Writer::String](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AWriter%3A%3AString/markdown)->new();
      my $writer = new [XML::Writer](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AWriter/markdown)( OUTPUT => $s );

      $writer->xmlDecl();
      $writer->startTag('root');
      $writer->endTag();
      $writer->end();

      print $s->value();

## DESCRIPTION
    This module implements a bare-bones class specifically for the purpose of capturing data from
    the [XML::Writer](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AWriter/markdown) module. [XML::Writer](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AWriter/markdown) expects an [IO::Handle](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3AHandle/markdown) object and writes XML data to the
    specified object (or STDOUT) 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.

## METHODS
    [XML::Writer::String](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AWriter%3A%3AString/markdown) provides three methods, new(), print() and value():

    "$s = [XML::Writer::String](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AWriter%3A%3AString/markdown)-"new([list]);>
        new() returns a new String handle.

    "$count = $s-"print([list]);>
        print() appends concatenated list data and returns number of items in list.

    "$val = $s-"value([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.

## NOTES
    This module is designed for the specific purpose of capturing the output of [XML::Writer](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AWriter/markdown) objects,
    as described in this document. It does not inherit form [IO::Handle](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3AHandle/markdown). For an alternative solution
    look at [IO::Scalar](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3AScalar/markdown), [IO::Lines](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ALines/markdown), [IO::String](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3AString/markdown) or [Tie::Handle::Scalar](https://www.chedong.com/phpMan.php/perldoc/Tie%3A%3AHandle%3A%3AScalar/markdown).

## AUTHOR
    Simon Oliver <<simon.oliver@umist.ac.uk>>

## COPYRIGHT
    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.

## SEE ALSO
    [XML::Writer](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AWriter/markdown), [IO::Handle](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3AHandle/markdown), [IO::Scalar](https://www.chedong.com/phpMan.php/perldoc/IO%3A%3AScalar/markdown)

