NAME
    PYX::SGML::Tags - Processing PYX data or file and write as SGML via
    Tags.
SYNOPSIS
     use PYX::SGML::Tags;
     my $obj = PYX::SGML::Tags->new(%parameters);
     $obj->parse($pyx, $out);
     $obj->parse_file($input_file, $out);
     $obj->parse_handle($input_file_handler, $out);
     $obj->finalize;
METHODS
  "new"
     my $obj = PYX::SGML::Tags->new(%parameters);
    Constructor.
    Returns instance of class.
    *       "input_encoding"
            Input encoding.
            Default value is 'utf-8'.
    *       "input_tags_item_callback"
            Input 'Tags' item callback. This callback is for Tags::Output::*
            constructor parameter 'input_tags_item_callback'.
            Default value is undef.
    *       "tags"
            Tags object. Can be any of Tags::Output::* objects. Default
            value is "Tags::Output::Raw-"new('output_handler' => \*STDOUT)>.
            It's required.
  "parse"
     $obj->parse($pyx, $out);
    Parse PYX text or array of PYX text. Output is serialization to SGML by
    Tags::Output::* module. If $out not present, use 'output_handler'.
    Returns undef.
  "parse_file"
     $obj->parse_file($input_file, $out);
    Parse file with PYX data. Output is serialization to SGML. If $out not
    present, use 'output_handler'.
    Returns undef.
  "parse_handler"
     $obj->parse_handle($input_file_handler, $out);
    Parse PYX handler. Output is serialization to SGML. If $out not present,
    use 'output_handler'.
    Returns undef.
  "finalize"
     $obj->finalize;
     Finalize opened tags, if exists.
     Returns undef.
ERRORS
     new():
             Bad 'Tags::Output::*' object.
             From Class::Utils::set_params():
                     Unknown parameter '%s'.
     parse():
             From PYX::Parser::parse():
                     Bad PYX line '%s'.
             From Tags::Output::Raw::flush():
                     Cannot write to output handler.
     parse_file():
             From PYX::Parser::parse_file():
                     Bad PYX line '%s'.
                     No input handler.
             From Tags::Output::Raw::flush():
                     Cannot write to output handler.
     parse_handler():
             From PYX::Parser::parse_handler():
                     Bad PYX line '%s'.
                     No input handler.
             From Tags::Output::Raw::flush():
                     Cannot write to output handler.
EXAMPLE1
     use strict;
     use warnings;
     use PYX::SGML::Tags;
     # Input.
     my $pyx = <<'END';
     (element
     -data
     )element
     END
     # Object.
     my $obj = PYX::SGML::Tags->new;
     # Process.
     $obj->parse($pyx);
     print "\n";
     # Output:
     # data
EXAMPLE2
     use strict;
     use warnings;
     use PYX::SGML::Tags;
     use Tags::Output::Indent;
     # Input.
     my $pyx = <<'END';
     (element
     -data
     )element
     END
     # Object.
     my $obj = PYX::SGML::Tags->new(
             'tags' => Tags::Output::Indent->new(
                     'output_handler' => \*STDOUT,
             ),
     );
     # Process.
     $obj->parse($pyx);
     print "\n";
     # Output:
     # data
EXAMPLE3
     use strict;
     use warnings;
     use PYX::SGML::Tags;
     use Tags::Output::Indent;
     # Input.
     my $pyx = <<'END';
     (element
     -data
     )element
     END
     # Object.
     my $obj = PYX::SGML::Tags->new(
             'input_tags_item_callback' => sub {
                     my $tags_ar = shift;
                     print '[ '.$tags_ar->[0].' ]'."\n";
                     return;
             },
     );
     # Process.
     $obj->parse($pyx);
     print "\n";
     # Output:
     # [ b ]
     # [ d ]
     # [ e ]
     # data
DEPENDENCIES
    Class::Utils, Error::Pure, PYX::Parser, PYX::Utils, Tags::Output::Raw.
SEE ALSO
    Task::PYX
        Install the PYX modules.
REPOSITORY
    
AUTHOR
    Michal Josef Špaček 
    
LICENSE AND COPYRIGHT
    © 2011-2020 Michal Josef Špaček
    BSD 2-Clause License
VERSION
    0.06