NAME

Alvis::Document::Meta - Perl extension for representing meta information about a document, such as its URL, title, modification date, HTML header information, detected character set,...

Maps HTML header attributes to the Dublin Core set (dc:title etc.).

SYNOPSIS

 use Alvis::Document::Meta;

 # Two ways of creating an instance 

 # Create a new instance from e.g. a file containing the meta information
 my $m=Alvis::Document::Meta->new();
 if (!defined($m))
 {
    die('Ugh!');
 }
 my $meta_txt=&read_meta_file($file);
 if (!$m->parse($meta_txt))
 {
    die('Parsing the meta file failed.' . $m->errmsg());
 }

 # or by directly supplying the text at instantiation time
 my $m=Alvis::Document::Meta->new(text=>$meta_txt);
 if (!defined($m))
 {
    die('Ugh!');
 }

 # If you wish to get the list of DC fields
 for my $dc_attr ($m->get_dcs())
 { 
     my ($attr,$value)=@$dc_attr;
     # do something
 }
 
 # There are additional special attributes you can set and get like this
 $m->set('url','foo.html');
 my $date=$$m->get('date');

DESCRIPTION

See the source for the exact mapping from HTML header fields to DC. Syntax of the meta information file:

       <feature name>\t<feature value>\n

"Special" field names are url title date detected-charset

METHODS

new()

Options:

    text    The text of a meta information file.

parse($meta)

Maps the features to the Dublin Core set (dc:title etc.).

"Special" field names are url title date detected-charset

get_dcs()

Returns all Dublin Core mapped features as ([<name>,<value>],[<name>,<value>],...)

get($param)

Returns the setting for the attribute. "Special" parameters are

      url   
      title
      date
      detectedCharSet 

set($param,$value)

Sets the value for a meta information attribute.

errmsg()

SEE ALSO

Alvis::Document, Alvis::Convert

AUTHOR

Kimmo Valtonen, <kimmo.valtonen@hiit.fi>

COPYRIGHT AND LICENSE

Copyright (C) 2006 by Kimmo Valtonen

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.