Re: Requesting XML records via Z39.50

Ray Denenberg wrote:
>
> If I may, please indulge me as I review some of the history behind all 
> these object identifiers, etc.  and I hope this may provide some 
> historical perspective.
>
> When we began to talk about XML for Z39.50 (roughly, ten years ago), 
> we viewed it (correctly) as a record syntax analogous to GRS-1.  If 
> you don't remember GRS-1, it is sufficient to say that it was the 
> pre-XML functional equivalent of XML - a generic syntax, meaningful 
> only when used in conjunction with a schema and namespace (which 
> Z39.50 called a tagset). This is in contrast to record syntaxes like 
> the various marcs, which had built-in schemas and tagsets.
>
> Thus: GRS-1 was a record syntax;  XML was a record syntax. GRS-1 
> worked with Z39.50 schemas and tagsets; XML worked with XML schemas 
> and namespaces.
>
> It is also necessary (though painful) to point out that GRS-1 worked 
> also with "dynamic element specifications", for which there is no 
> real  XML analogy. These dynamic element specifications were 
> generalizations of the more "static" element set names; you may recall 
> the specification eSpec-1. It is necessary to mention this because of 
> the compSpec story:  compSpec was provided in Z39.50-1995 as a complex 
> alternative to using just a record syntax and element set name-  
> "marc" with  "brief", for example.  Compspec assumed that you would 
> use grs-1 as the record syntax, and also specify a schema. And in 
> addition, perhaps an eSpec specification.  Then XML came along at 
> which point compSpec assumed you would use either GRS-1 or XML as the 
> record syntax, and correspondingly a GRS-1 or XML schema (and if 
> GRS-1, perhaps also an eSpec specification).
>
> This is boring I know, but it gets a bit more interesting now (or at 
> least more relevant).
>
> So, we registered 1.2.840.10003.5.109.10 as the record syntax for XML, 
> for use as just described.   Then someone asked "XML version 1.0 or 
> 1.1"?  So we registered 1.2.840.10003.5.109.10.1.0  and 
> 1.2.840.10003.5.109.10.1.1 for these versions and designated 
> 1.2.840.10003.5.109.10 as "no specific version". Why did we register 
> these version specific identifiers? Because we thought we had to; we 
> didn't know any better at the time.
>
> Three things in particular led to the implementor agreement, to use 
> 112 and put the schema in the element set name parameter.
>
> 1.  Very few if any implementors wanted to implement compSpec. There 
> was a popular cry to be able to simply specify the record syntax as 
> XML and some way to indicate the XML schema, but without using 
> compSpec.   Of course the purists (me included) pointed out that this 
> was what compSpec was invented for!  Not using it would be a cludge! 
> The counter argument was, no, compSpec was invented for dynamic 
> element specification and nobody is going to implement it. (The truth 
> was somewhere in between. It was invented for both purposes.)  And 
> compSpec was too complicated.
>
> 2.  After much debate and discussion, the ZIG decided that an element 
> set in the XML environment is a schema. (A subschema, perhaps, but a 
> schema nevertheless).
>
> 3. There needed to be a clean break from the confusing XML OIDS, 
> 109.10, 109.10.1.0, and 109.10.1.1 which were all supposed to be used 
> with compSpec anyway.  So we decided to register a completely new OID, 
> 112, to represent XML for use as described in the agreement.
>
> I hope this helps some.
I fully to make the implementors agreement for using element set as 
schema. I just never understood the reasons to make a new OID. Clients 
either use Comspec and use the string arm (Amendment 5) or they use 
element set and put schema there.. For our software in both cases we 
retained the original OID. The servers, in turn, would see syntax==XML 
and look for schema in either the complex spec or element set name.. 
Semantics thereafter were exactly the same.

As for XML 1.1 or XML 1.0.. 1.0 prevail and I have yet to see servers 
that can deliver both types for some schema.

It's also been our assumption that it would be practical to use same 
schema identifiers for both SRU and Z39.50. Why have two registries? 
Z39.50 is just another carrier for XML.. albeit a much more efficient one:-)

/ Adam
>
> --Ray
>
> ----- Original Message ----- From: "Tommy Schomacker" <TS@dbc.dk>
> To: "Adam Dickmeiss" <adam@indexdata.dk>; <www-zig@w3.org>
> Cc: <www-zig@w3.org>
> Sent: Tuesday, January 27, 2009 4:16 AM
> Subject: SV: Requesting XML records via Z39.50
>
>
>
> Hi Adam,
>
> What OID is "the original one"? I have found these OID for XML record 
> syntaxes in the registry:
> 1.2.840.10003.5.109.10 xml (no specific version)
> 1.2.840.10003.5.109.10.1.0 xml version 1.0
> 1.2.840.10003.5.109.10.1.1 xml version 1.1
> 1.2.840.10003.5.110 Z39.50 mime types
> 1.2.840.10003.5.112 xml-b  XML record according to the schema or 
> definition identified by the element set name.
>
> Best regards
> Tommy
>
>
>

Received on Wednesday, 28 January 2009 08:32:12 UTC