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_handler($input_file_handler, $out);
$obj->finalize;
METHODS
new
my $obj = PYX::SGML::Tags->new(%parameters);
Constructor.
input_encoding
Input encoding for parse_file() and parse_handler() usage.
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.
Returns instance of class.
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. $input_file
file is decoded by 'input_encoding'. Output is serialization to SGML. If $out
not present, use 'output_handler'.
Returns undef.
parse_handler
$obj->parse_handler($input_file_handler, $out);
Parse PYX handler. $input_file_handler
handler is decoded by 'input_encoding'. 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:
# <element>data</element>
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:
# <element>data</element>
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 ]
# <element>data</element>
DEPENDENCIES
Class::Utils, Error::Pure, PYX::Parser, PYX::Utils, Tags::Output::Raw.
SEE ALSO
- Task::PYX
-
Install the PYX modules.
REPOSITORY
https://github.com/michal-josef-spacek/PYX-SGML-Tags
AUTHOR
Michal Josef Špaček mailto:skim@cpan.org
LICENSE AND COPYRIGHT
© 2011-2023 Michal Josef Špaček
BSD 2-Clause License
VERSION
0.10