The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

PYX::XMLNorm - Processing PYX data or file and do XML normalization.

SYNOPSIS

 use PYX::XMLNorm;

 my $obj = PYX::XMLNorm->new(%parameters);
 $obj->parse($pyx, $out);
 $obj->parse_file($input_file, $out);
 $obj->parse_handler($input_file_handler, $out);

METHODS

new(%parameters)

 my $obj = PYX::XMLNorm->new(%parameters);

Constructor.

  • flush_stack

    Flush stack on finalization.

    Default value is 0.

  • output_handler

    Output handler.

    Default value is \*STDOUT.

  • rules

    XML normalization rules. Parameter is required. Format of rules is: Outer element => list of inner elements. e.g.

     {
             'middle' => ['end'],
     },

    Outer element can be '*'.

    Default value is {}.

Returns instance of object.

parse($pyx[, $out])

 $obj->parse($pyx, $out);

Parse PYX text or array of PYX text. If $out not present, use 'output_handler'.

Returns undef.

parse_file($input_file[, $out])

 $obj->parse_file($input_file, $out);

Parse file with PYX data. If $out not present, use 'output_handler'.

Returns undef.

parse_handler($input_file_handler[, $out])

 $obj->parse_handler($input_file_handler, $out);

Parse PYX handler. If $out not present, use 'output_handler'.

Returns undef.

ERRORS

 new():
         Cannot exist XML normalization rules.
         From Class::Utils::set_params():
                 Unknown parameter '%s'.

EXAMPLE

 use strict;
 use warnings;

 use PYX::XMLNorm;

 # Example data.
 my $pyx = <<'END';
 (begin
 (middle
 (end
 -data
 )middle
 )begin
 END

 # Object.
 my $obj = PYX::XMLNorm->new(
         'rules' => {
                 'middle' => ['end'],
         },
 );

 # Nomrmalize..
 $obj->parse($pyx);

 # Output:
 # (begin
 # (middle
 # (end
 # -data
 # )end
 # )middle
 # )begin

DEPENDENCIES

Class::Utils, Error::Pure, PYX, PYX::Parser.

SEE ALSO

PYX

A perl module for PYX handling.

Task::PYX

Install the PYX modules.

REPOSITORY

https://github.com/michal-josef-spacek/PYX-XMLNorm

AUTHOR

Michal Josef Špaček skim@cpan.org.

LICENSE AND COPYRIGHT

© 2011-2023 Michal Josef Špaček

BSD 2-Clause License

VERSION

0.05