NAME

HTML::Template::Compiled::Plugin::XMLEscape - XML-Escaping for HTC

SYNOPSIS

use HTML::Template::Compiled::Plugin::XMLEscape;

my $htc = HTML::Template::Compiled->new(
    plugin => [qw(HTML::Template::Compiled::Plugin::XMLEscape)],
    ...
);

METHODS

register

gets called by HTC

escape_xml

escapes data for XML CDATA.

escape_xml_attr

escapes data for XML attributes

EXAMPLE

use HTML::Template::Compiled::Plugin::XMLEscape;
my $htc = HTML::Template::Compiled->new(
    plugin => [qw(HTML::Template::Compiled::Plugin::XMLEscape)],
    tagstyle => [qw(-classic -comment -asp +tt)],
    scalarref => \'<foo attr="[%= attribute %]">[%= cdata escape=XML %]</foo>',
    default_escape => 'XML_ATTR',
);
$htc->param(
    attr => 'foo & bar',
    cdata => 'text < with > tags',
);
print $htc->output;

Output:

<foo attr="foo &amp; bar">text &lt; with &gt; tags</foo>