NAME

Metadata::SOIF - SOIF object metadata class

SYNOPSIS

use Metadata::SOIF
...
$i=new Metadata::SOIF;
$i->set('element1', [qw(v1 v2 v3)]);
$i->set('element2', 'v2');

my $val=$i->get('element2);
for my $v ($i->get('element1') {
  ...
}
...

DESCRIPTION

The Metadata::SOIF class supports SOIF objects metadata using the Metadata::Base class and customises it for SOIF objects where element names have variants to represent to sub-values.

SOIF was developed by the Harvest project -- the Structured Objects Interchange Format -- to be used for distributed resource discovery. See the Harvest Project home page at http://harvest.transarc.com/ for more details.

CONSTRUCTOR

new [OPTIONS]

An optional hash of options can be given to the constructor to set various options. There are currently two Metadata::SOIF options defined:

DEBUG

This class has a separate debug class / object method that works in the same fashion as the Metadata::Base method debug. Setting it here also sets the debugging on the base Metadata::Base object too.

SPLIT

In the read method, split the SOIF values on newlines to give multiple subvalues (default off).

METHODS

The methods here describe the differences from the Metadata::Base class methods.

template_type [TEMPLATE TYPE]

The template type of the metadata can be set by this method if an TEMPLATE TYPE is given. The old value is returned when it is set or returned when this method is called with no arguments.

url [URL]

The URL of the metadata can be set by this method if an URL is given. The old value is returned when it is set or returned when this method is called with no arguments.

read HANDLE, [URL]

Implements reading a single SOIF object from the given HANDLE. Optionally allows the setting of the SOIF URL for the object in preference for the one read from the HANDLE

format [URL]

Returns a formatted version of the SOIF object suitable for writing to a file (and reading in with the read method). Optionally allows the setting of the object URL to use in formatting.

SEE ALSO

Metadata::Base

AUTHOR

By Dave Beckett <D.J.Beckett@ukc.ac.uk>.

COPYRIGHT

Copyright 1997 Dave Beckett. All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 252:

You forgot a '=back' before '=head1'

Around line 283:

=back doesn't take any parameters, but you said =back 4