[ZOOM] Again: Record Handling

Mike Taylor mike at tecc.co.uk
Fri Jul 12 18:05:13 CEST 2002

> Date: Fri, 12 Jul 2002 10:51:13 -0500
> From: "Thomas G. Habing" <thabing at uiuc.edu>
> I have mixed feelings regarding this one.  
> Being "intellectually honest" I can see how these methods are sort
> of tangential to the entire API, and are essentially impossible to
> universally support.

Yup.  And indeed impossible to universally _specify_!

> However, I think GetField can be very useful for record syntaxes for
> which it makes sense. My VBZOOM supports XML XPath expressions for
> XML and also MARC (using the LOC's MARCXML syntax).  I also support
> a simple MARC Query Language for MARC records.  For SUTRS, I plan to
> use regular expressions, and also maybe implementing some hueristics
> to convert certain SUTRS, such as RFC1807 into XML so XPath can be
> used.  Right now attempting a GetField on an unsupported record
> syntax throws an error.

All very cute.  It's certainly not my intention to _prevent_ you from
doing these things (as if I could!)  But as we write, the code your
describing is all "extensions" to the ZOOM spec. in as much as none of
what you describe is in the AAPI.  That's fine -- we expect and
actively want different implementations to add stuff, to compete on
features as well as robustness, performance etc.  But I am arguing
that the AAPI cannot effectively standardise this sort of behaviour
across record syntaxes, bindings and implementations, so it's more
honest for it not even to try.

Part of me thinks that it _is_ appealing to imagine having some prose
suggesting that implementations with access to the appropriate
libraries should provide an XPath way into the XML documents that ZOOM
retrieves -- but really, is it any of ZOOM's concern?  I don't think
so.  Fetch your records, then interrogate them as you will, using that
software you have.

... though I am still ready to be persuaded otherwise.

> In retrospect, for how I am using GetField, maybe it should be
> renamed QueryRecord (since it is impossible to define what is meant
> by a field) and GetFieldCount can be renamed RecordQueriable, which
> would return true or false depending one whether an implementation
> supports QueryRecord for a given record.

What's the point of the latter?  The former will barf if you try it on
an inappropriate record anyway, so you'll find out soon enough.

Thanks for your thoughts.

 _/|_	 _______________________________________________________________
/o ) \/  Mike Taylor   <mike at miketaylor.org.uk>   www.miketaylor.org.uk
)_v__/\  "I love English: in what other language can you make things
	 so obscure by explaining them?" -- Zenlizard.

More information about the ZOOM mailing list