XML-Atom-SimpleFeed
view release on metacpan or search on metacpan
lib/XML/Atom/SimpleFeed.pm view on Meta::CPAN
sub xml_escape {
$_[0] =~ s{ ( [<>&'"] ) }{ $XML_ESC{ $1 } }gex;
&xml_cref;
}
sub xml_attr_escape {
$_[0] =~ s{ ( [\x0A\x0D<>&'"] ) }{ $XML_ESC{ $1 } }gex;
&xml_cref;
}
sub xml_cdata_flatten {
for ( $_[0] ) {
my $cdata_content;
s{<!\[CDATA\[(.*?)]]>}{ xml_escape $cdata_content = $1 }gse;
croak 'Incomplete CDATA section' if -1 < index $_, '<![CDATA[';
return $_;
}
}
sub xml_string { xml_cref xml_cdata_flatten $_[ 0 ] }
sub xml_tag {
my $name = shift;
my $attr = '';
if( ref $name eq 'ARRAY' ) {
my $i = 1;
while( $i < @$name ) {
$attr .= ' ' . $name->[ $i ] . '="' . xml_attr_escape( $name->[ $i + 1 ] ) . '"';
$i += 2;
}
( run in 0.713 second using v1.01-cache-2.11-cpan-454fe037f31 )