[ZOOM] Enumerating Record Syntaxes (Was: Catching up)

Mike Taylor mike at tecc.co.uk
Wed Nov 14 13:51:39 CET 2001


> Date: Wed, 14 Nov 2001 12:19:12 +0000
> From: Ashley Sanders <zzaascs at irwell.mimas.ac.uk>
> 
> > - enum ZOOM::record::recordSyntax, a enu of record syntaxes will
> > allways be +wrong.
> 
> I agree that the enum will always be wrong. But, ZOOM was meant to
> hide the peccadillos of Z39.50 and I think OIDs are something that
> should be hidden at the expense of the enum always being wrong.

I agree that ZOOM users shouldn't be _forced_ to get to grips with the
festival of festulence that is the OID; but we should make it possible
for people who know what they're doing to escape into arbitrary OID
space.  And I think that my suggestion of

	class record {
	    // no definition of enum recordSyntax
	    ...
	public:
	    virtual const char *recsyn () = 0;
	    static const char GRS1[] = "1.2.840.10003.5.105";
	    static const char DANMARC[] = "1.2.840.10003.5.14";
	    // etc.
	}

achieves that quite neatly.

Remember too that even if we decided to keep the enum, we will still
need a way to express record syntaxes as strings, so we can set the
"preferredRecordSyntax" option.  And surely the right number of ways
to express record syntaxes in ZOOM is one?

 _/|_	 _______________________________________________________________
/o ) \/  Mike Taylor   <mike at miketaylor.org.uk>   www.miketaylor.org.uk
)_v__/\  "It's just like running Walton & Hersham, except the numbers
	 have more zeros on the end" -- Theo Paphitis on running
	 Millwall.




More information about the ZOOM mailing list