Ed,
I am just beginning to think about these things, but
it seems to me that the MARC Record is a storage format for
things are in reality quite different objects,
bibliographic records, holdings, name authority, etc.
The methods for handling the format all work fine, of course,
across these types of objects.
But I don't think it should be possible to process records of one type,
when they should be another type.
For instance, a holding record has no title fields at all.  I think, maybe,
the title method should throw an exception, or error when you try to grab
the 245 of a holding or other record. (or call a user defined error handler)

As I think about this, I am not sure that inheritance is the right tool --
I am beginning to think maybe that there should be records of Bib,
Holding, NameAuthority, Community, etc which have their own methods,
and which contain a marc record.

Cheers,
Rick


At 08:01 PM 3/14/2004 -0600, Ed Summers wrote:
Hi Enrico:

On Sun, Mar 14, 2004 at 02:47:26PM -0500, Enrico Silterra wrote:
> I think that having various derived classes of MARC records.
> Holding, Bib Records, Name Authority, etc would be useful.

Interesting question. MARC::Record should handle holdings, authority,
classification, and community records just fine since they are all
structurally the same.

The type of record could be determined by looking at position 6 in the leader.
But I'm wondering why you think having MARC::Record::Bibliographic
MARC::Record::Authority (etc) would be useful. MARC::Records generic
methods already work fine for all these types of MARC records.

Enabling MARC::Lint (which does deal with the semantics of the tags)
to understand authority, classification, community records would be cool.
In fact it's on the shortlist of things to do if you are interested [1].

//Ed

[1] http://rt.cpan.org/NoAuth/Bug.html?id=4813

****************************** Enrico Silterra Meta Data Engineer 107-E Olin Library Cornell University Ithaca NY 14853

Voice: 607-255-6851
Fax: 607-255-6110
E-mail: [EMAIL PROTECTED]
http://www.library.cornell.edu/cts/
******************************




Reply via email to