(I'm copying this email exchange with Bryan Baldus to the list, so that
anyone working in the Lint area is informed of our plans)
 
Bryan wrote> One potential problem is with the previous character data 
Bryan wrote> being integrated into the _DATA_ section.
Bryan wrote>...etc/specs.pl program that constructs the DATA section 

Yes I was aware of this potential problem, but ignored it in my enthusiasm
to get a Lint customisation working with an OOP design which would be easy
to extend by adding more rules of a similar type.

>From several points of view (to avoid the above problem, using loose rather
than tight coupling with Lint.pm/modularity, making it easier for Perl4lib
subscribers to see what's being done,...) it makes sense to takes the
additional (AACR2-type) rules out of Lint2.pm and recreate them either:

- in a Lint subclass (MyLint at present, but could be renamed Aacr)
specialising the Lint methods;

or 

- in a class/package parallel to Lint using the same methodology.

I'm not sure which of these is the best solution, but I intend to start with
the MyLint approach:

* reddefining  sub new in MyLint thereby overriding the (SUPERCLASS)
Lint->new method, which will call Lint->new (cf MyLint->check_245) and add
some of its own code (to read in the MyLint/AACR rules and add them to the
$linter object's hash of rules per tag).
I use Data::Dumper & print Dumper($linter) to debug this stage.

* idem for sub check_record
. 
This should preserve a strictly modular approach and nicely separate the
Lint and 'AACR' rules. 

It would also allow more scope for flexible structuring of 'AACRetc' rules
to cover a wide variety of validation checks:

e.g.
#TagId    Scope        Validate      Expression         Description/Warning
#-----    -----        -----         ----------         ------------------- 
008       35-37        IsoLangCode   Verify(ScopeValue) <ReturnValue> 
043       SubFlds_abc  Length        7                  ... 
245c      PrvSubFld    LastChars     space/             ... 
245       CurrFld      LastChars     .                  ... 
856u      CurrSubFld   URLFound      Verify(ScopeValue) <ReturnValue> 
010-999   AllFields    BadChars      ,,|..
010-999   AllFields    LeadingSpaces 

More news later, Ian

-----Original Message-----
From: Bryan Baldus
To: HAMILTON Ian (EAC)
Sent: 19/11/2004 19:35
Subject: RE: Customising MARC::Lint & LintAdditions/ErrorChecks

Thank you for the updates. I will probably begin looking at the
Lint/Lintadditions modules this weekend, after having been occupied for
the
past few weeks on something else. 

In Lint2.pm: 
# <MODIF> to __DATA__: Control field definitions added (See Brian
Baldus's
LintAdditions.pm)
should read:
# <MODIF> to __DATA__: Control field definitions added (See Bryan
Baldus's
LintAdditions.pm)

I like some of the changes you've made. One potential problem is with
the
previous character data being integrated into the _DATA_ section. This
might
need to be accounted for in the etc/specs.pl program that constructs the
DATA section from the ecbdlist.html file (though the specs.pl states:
"Also,
the HTML file doesn't include the 841-88X tags, so those are hardcoded
here," but I don't see where that is happening (in the version of the
program included in MARC::Record 1.38).

The lint.t test may need to be updated, as well.

Talk to you later,

Bryan Baldus
Cataloger
Quality Books Inc.
The Best of America's Independent Presses
[EMAIL PROTECTED]

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: Friday, November 19, 2004 10:55 AM
To: [EMAIL PROTECTED]
Subject: RE: Customising MARC::Lint & LintAdditions/ErrorChecks


Bryan,

I've been doing a bit of work on incorporating some of your 260 & 230
checks
into the Lint rule base.
See the rules at the end of Lint2.pm + references to PrvChars in the
rule
parsing etc.

>I would suggest you post about them on the Perl4Lib discussion list or
contact Andy Lester

Will do once I've tidied up some of the ugly bits ..;

Bye Ian

_____________________________________________
Ian Hamilton 
Library Systems Administrator
European Commission - Directorate General for Education and Culture 
EAC D3 - Central Library Unit 
* +32-2-295.24.60 (direct phone) 
* +32-2-299.91.89 (fax)
*  http://europa.eu.int/eclas/

Reply via email to