> Date: Thu, 11 Dec 2003 20:48:38 +0000
> From: Robert Sanderson <[log in to unmask]>
>
> > I would like to propose to reconsider DCX as a sigificant part of
> > SRU being a short name to request the server's choice DC based
> > record schema and the other way around to let the server say: "the
> > record schema that I can provide is not known to you but it
> > complies to DCX".
>
> You /can/ do this. Just assign it a URI, put it in your Explain
> record and Robert's your father's brother.
Well, that gives Theo the ability to have his clients _request_ the
DCX schema, which is half of what he wants. The other half, if I
understand him correctly, is that he he wants to have a situation
where a client asks for the DC schema, or the CIMI schema, or
whatever, and the server unilaterally says, "No can do, but here's a
DCX record". (Right, Theo?)
Now in out-of-the-box SRW/U, that's illegal. But it's precisely the
sort of requirement for which we introduced extraRequestData. Theo,
what you need to do for this is:
1. Define an extraRequestData element, in a stated namespace, that
means "feel free to substitute other schemas for the one I asked
for". Or you might want to be more specific so that it means "you
can use DCX instead", or even "here's a list of schemas you're
allowed to use in descending order of preference".
2. Specify an X-whatever parameter to be used analogously in SRU.
So for example, you might make up the XML namespace
http://theo.kb.nl/srw/foo
and within that namespace define an element <fallbackToDCX/> with no
attributes or subelements. Then an SRW request could include
<srw:extraRequestData>
<theo:fallbackToDC/ xmlns="http://theo.kb.nl/srw/foo">
</srw:extraRequestData>
which would give the server licence to do what you want. (And which
server that know nothing of {http://theo.kb.nl/srw/foo,fallbackToDC}
can politely ignore.)
ANd you'd need to define a private extension parameter to use in SRU
analogously -- for example X-theo-fallbackToDC. (In this, the "theo-"
part after the "X-" is a sort of a weak stand-in for the extraData
element's namespace. It's far from foolproof, but does give us a
better chance of avoiding collisions than if you just called it
something like "X-DC".)
Is that clear? Does everyone agree with it? Should this example of
how to use extensions be documented somewhere on the SRW/U web-site?
_/|_ _______________________________________________________________
/o ) \/ Mike Taylor <[log in to unmask]> http://www.miketaylor.org.uk
)_v__/\ "Boy meets monolith; boy loses computer; monolith gets boy"
-- Roger Wilmot's plot summary of 2001: A Space Oddysey
--
Listen to my wife's new CD of kids' music, _Child's Play_, at
http://www.pipedreaming.org.uk/childsplay/
|