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