DOKK / manpages / debian 12 / libxml-writer-string-perl / XML::Writer::String.3pm.en
String(3pm) User Contributed Perl Documentation String(3pm)

XML::Writer::String - 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 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.

XML::Writer::String provides three methods, "new()", "print()" and "value()":

"$s = XML::Writer::String-"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.

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 <simon.oliver@umist.ac.uk>

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

2022-10-13 perl v5.34.0