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 )