Alvis-Convert

 view release on metacpan or  search on metacpan

lib/Alvis/Document.pm  view on Meta::CPAN

package Alvis::Document;

########################################################################
#
# Assembles an ALVIS XML documentRecord from given pieces
#
#   -- Kimmo Valtonen
#
########################################################################

use strict;
use warnings;

use Carp;
use Data::Dumper;
use Digest::MD5;
use Compress::Zlib;
use MIME::Base64;
use Encode;

use Alvis::Document::Meta;
use Alvis::Document::Links;

use strict;

my ($ERR_OK,
    $ERR_CAN_DOC,
    $ERR_META,
    $ERR_DATE,
    $ERR_URL,
    $ERR_NO_LINK_TYPE,
    $ERR_LINKS_TXT
    )=(0..6);

my %ErrMsgs=($ERR_OK=>"",
	     $ERR_CAN_DOC=>"No canonicalDocument.",
	     $ERR_META=>"No meta information.",
	     $ERR_DATE=>"No document date.",
	     $ERR_URL=>"No URL.",
	     $ERR_NO_LINK_TYPE=>"No type for a link.",
	     $ERR_LINKS_TXT=>"Assembling links text failed."
	     );

sub new
{
    my $proto=shift;
 
    my $class=ref($proto)||$proto;
    my $parent=ref($proto)&&$proto;
    my $self={};
    bless($self,$class);

    $self->_set_err_state($ERR_OK);

    $self->_init(@_);

    return $self;
}

sub _init
{
    my $self=shift;

    $self->{includeOriginalDocument}=1;

    if (defined(@_))
    {
        my %args=@_;
        @$self{ keys %args }=values(%args);
    }
}

sub _set_err_state
{
    my $self=shift;



( run in 1.146 second using v1.01-cache-2.11-cpan-39bf76dae61 )