XML-NewsML_G2
view release on metacpan or search on metacpan
lib/XML/NewsML_G2/Inline_CData.pm view on Meta::CPAN
extends 'XML::NewsML_G2::Inline_Data';
__PACKAGE__->meta->make_immutable;
1;
__END__
=head1 NAME
XML::NewsML_G2::Inline_CData - inline cdata specification
=head1 SYNOPSIS
my $data = XML::NewsML_G2::Inline_CData->new
(mimetype => 'text/xml',
data => '<somexml>test</somexml>'
);
=head1 ATTRIBUTES
lib/XML/NewsML_G2/Writer.pm view on Meta::CPAN
$getter_setter->( $self->scheme_manager, $scheme );
}
return;
}
# public methods
sub create_element {
my ( $self, $name, %attrs ) = @_;
my $text = delete $attrs{_text};
my $cdata = delete $attrs{_cdata};
my $name_text = delete $attrs{_name_text};
my $ns = delete $attrs{_ns} || $self->g2_ns;
my $elem = $self->doc->createElementNS( $ns, $name );
for my $attr_name ( sort keys %attrs ) {
$elem->setAttribute( $attr_name, $attrs{$attr_name} );
}
if ($text) {
$elem->appendChild( $self->doc->createTextNode($text) );
}
elsif ($cdata) {
$elem->appendChild( $self->doc->createCDATASection($cdata) );
}
elsif ($name_text) {
$name_text = $name_text->name
if ( ref $name_text and $name_text->can('name') );
$elem->appendChild(
$self->create_element( 'name', _text => $name_text ) );
}
return $elem;
}
lib/XML/NewsML_G2/Writer/News_Item.pm view on Meta::CPAN
$cs->appendChild($inlinexml);
foreach ( sort keys %{ $self->news_item->remotes } ) {
my $rc = $self->create_element( 'remoteContent', href => $_ );
$self->_create_remote_content( $rc, $self->news_item->remotes->{$_} );
$cs->appendChild($rc);
}
foreach ( @{ $self->news_item->inlinedata } ) {
my %args;
if ( $_->isa('XML::NewsML_G2::Inline_CData') ) {
$args{_cdata} = $_->data;
}
else {
$args{_text} = $_->data;
}
$args{contenttype} = $_->mimetype if $_->mimetype;
my $data = $self->create_element( 'inlineData', %args );
$cs->appendChild($data);
}
return;
}
( run in 0.733 second using v1.01-cache-2.11-cpan-454fe037f31 )