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.
* "output_encoding"
Output encoding.
Default value is 'utf-8'.
* "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-2021 Michal Josef Špaček
BSD 2-Clause License
VERSION
0.07