AxKit2
view release on metacpan or search on metacpan
lib/AxKit2/Transformer/XSP.pm view on Meta::CPAN
XML event code. Recently, another taglib helper has been developed,
AxKit2::Transformer::XSP::SimpleTaglib. The latter manages all the
details described under 'Design Patterns' for you, so you don't really
need to bother with them anymore.
A warning about character sets: All string values are passed in and
expected back as UTF-8 encoded strings. So you cannot use national characters
in a different encoding, like the widespread ISO-8859-1. This applies to
Taglib source code only. The XSP XML-source is of course interpreted according
to the XML rules. Your taglib module may want to 'use utf8;' as well, see
L<perlunicode> and L<utf8> for more information.
=head1 Design Patterns
These patterns represent the things you may want to achieve when
authoring a tag library "from scratch".
=head2 1. Your tag is a wrapper around other things.
Example:
plugins/dir_to_xml view on Meta::CPAN
<file size="708" atime="1077319951" mtime="1076774018" ctime="1076774018" readable="1" executable="1">Bender.pl</file>
</filelist>
=head1 CONFIG
=head2 DirExternalEncoding STRING
File systems aren't consistent with what encodings they use to represent
accented filenames or filenames in non-ascii encodings. In order to cope with
these sorts of filenames you need to specify an encoding. The filenames will
then be converted to unicode using the perl Encode module.
By default, filenames are accepted as either UTF-8 or ISO-8859-15, autodetecting
the character set of each filename. This makes transition to UTF-8 filenames rather
painless.
A warning on encodings: On some platforms,you may get different byte sequences for
the same character. For example, Perl on MacOS X seems to like
[base-letter+combining-char] more than [combined character], while on other systems
it doesn't care. This doesn't affect XSLT or other truly XML aware processors but may
hit you when you process the resulting XML with regexes or similar.
( run in 0.531 second using v1.01-cache-2.11-cpan-88abd93f124 )