On Mon, Mar 15, 2004 at 09:21:49AM -0500, Enrico Silterra wrote: > 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)
Perhaps, but there are really only a handful of methods that are specific to bibliographic records. I'm not sure that adding ways that MARC::Record can fail is worth a lot of time and effort. If you are interested in doing this sort of checking it can easily be done in your program by checking position 6 in the leader. if ( substr( $record->leader(), 6, 1 ) !~ /^[acdefgijkmoprt]$/ ) { die "uhoh, this ain't a bibliographic record\n"; } > 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. I understand where you are going with this, but I'm not a big fan of the bibliographic specific methods in MARC::Record in the first place, and am of the opinion that adding more would not be a good idea. The meaning of tags, while pretty stable, could change at any time...and the tags mean different things in different flavors of MARC anyway. Were you processing a bunch of MARC data that had bib/authority/holdings records interspersed? I still think it would be cool if MARC::Lint could grok authority, holdings (etc) records in addition to bib records. Of course there are other people who use MARC::Record, who may agree with you :) This is just the first time I've heard it come up in the last four years. If I haven't scared you off, and you end up using MARC::Record for a project would you be willing to send a couple of sentences describing your work so we could add it to the website? //Ed