NAME
Tags::Output::PYX - PYX class for line oriented output for 'Tags'.
SYNOPSYS
use Tags::Output::PYX;
my $obj = Tags::Output::PYX->new(%parameters);
$obj->finalize;
my $ret = $obj->flush($reset_flag);
my @elements = $obj->open_elements;
$obj->put(@data);
$obj->reset;
# Deprecated methods.
my @elements = $obj->open_tags;
PYX LINE CHARS
? - Instruction.
( - Open tag.
) - Close tag.
A - Attribute.
- - Normal data.
METHODS
new
my $obj = Tags::Output::PYX->new(%parameters);
Constructor.
Returns instance of object.
auto_flush
Auto flush flag. Default value is 0.
output_callback
Output callback. Default value is undef.
output_handler
Set output handler. Default value is undef.
output_sep
Output separator. Default value is newline.
skip_bad_data
Skip bad tags. Default value is 0.
strict_instruction
Strict instruction. Default value is 1.
finalize
$obj->finalize;
Finalize Tags output. Automaticly puts end of all opened tags.
Returns undef.
flush
my $ret = $obj->flush($reset_flag);
Flush tags in object. If defined 'output_handler' flush to its. Or returns code. If enabled $reset_flag, then resets internal variables via reset method.
open_elements
my @elements = $obj->open_elements;
Get list of open elements.
Returns array of strings.
put
$obj->put(@data);
Put tags code in tags format.
Returns undef.
reset
$obj->reset;
Resets internal variables.
Returns undef.
DEPRECATED METHODS
open_tags
my @elements = $obj->open_tags;
Get list of open elements.
Returns array of strings.
ERRORS
new():
Auto-flush can't use without output handler.
Output handler is bad file handler.
From Class::Utils::set_params():
Unknown parameter '%s'.
flush():
Cannot write to output handler.
put():
Bad data.
Bad type of data.
Bad number of arguments. 'Tags' structure %s
Ending bad tag: '%s' in block of tag '%s'.
EXAMPLE
use strict;
use warnings;
use Tags::Output::PYX;
# Object.
my $tags = Tags::Output::PYX->new;
# Put all tag types.
$tags->put(
['b', 'tag'],
['a', 'par', 'val'],
['c', 'data', \'data'],
['e', 'tag'],
['i', 'target', 'data'],
['b', 'tag'],
['d', 'data', 'data'],
['e', 'tag'],
);
# Print out.
print $tags->flush."\n";
# Output:
# (tag
# Apar val
# -<!--data--><!--SCALAR(0x1570740)-->
# )tag
# ?target data
# (tag
# -datadata
# )tag
DEPENDENCIES
Error::Pure, Readonly, Tags::Output, Tags::Utils.
SEE ALSO
- Tags
-
Structure oriented SGML/XML/HTML/etc. elements manipulation.
- Task::PYX
-
Install the PYX modules.
- Task::Tags
-
Install the Tags modules.
REPOSITORY
https://github.com/michal-josef-spacek/Tags-Output-PYX
AUTHOR
Michal Josef Špaček skim@cpan.org
LICENSE AND COPYRIGHT
© 2011-2020 Michal Josef Špaček
BSD 2-Clause License
VERSION
0.05