Data-DublinCore

 view release on metacpan or  search on metacpan

lib/Data/DublinCore.pm  view on Meta::CPAN

use vars '$VERSION';
$VERSION = '1.00';

use base 'XML::Compile::Cache';
our $VERSION = '0.01';

use Log::Report 'data-dublincore', syntax => 'SHORT';

use XML::Compile::Util  qw/type_of_node unpack_type pack_type SCHEMA2001/;
use XML::LibXML::Simple qw/XMLin/;
use Scalar::Util        qw/weaken/;


use Data::DublinCore::Util;
use XML::Compile::Util  qw/XMLNS/;

# map namespace always to the newest implementation of the protocol
my $newest     = '20080211';
my %ns2version = (&NS_DC_ELEMS11 => $newest);

my %info =

lib/Data/DublinCore.pm  view on Meta::CPAN

sub init($)
{   my ($self, $args) = @_;
    $args->{allow_undeclared} = 1
        unless exists $args->{allow_undeclared};

    my $r = $args->{opts_readers} ||= {};
    $r = $args->{opts_readers} = +{ @$r } if ref $r eq 'ARRAY';

    $r->{mixed_elements}   = 'XML_NODE';
    my $s = $self; 
    weaken $s;      # avoid memory leak
#   $r->{mixed_elements}   = sub { $s->_handle_any_type(@_) };
    $r->{any_type}         = sub { $s->_handle_any_type(@_) };
    $args->{any_element} ||= 'ATTEMPT';

    $self->SUPER::init($args);

    my $version = $args->{version} || $newest;

    unless(exists $info{$version})
    {   exists $ns2version{$version}



( run in 0.640 second using v1.01-cache-2.11-cpan-65fba6d93b7 )