Accept Extension
SRU messages may include additional information through a built in extension
mechanism. Additional information may be included in the request
(extraRequestData) or the response (extraResponseData). The client
may send extraRequestData at will, and the server is free to honor
or ignore it.
However, there is a no-unrequested-extraResponseData rule:
The server may not send extraResponseData unless it has been requested
(for example, via extraRequestData).
Sometimes a server may wish to send "helpful" information
-- for example to identify ownership of the data/response, to show
where the response came from, or to provide additional data which will
help process the response -- information that the server thinks would
be helpful to a client if the client understands it, and which the
client could ignore if it does not understand it. But that would violate
the no-unrequested-extraResponseData rule.
However, a client may signal that it will accept any data that the
server sends (or it may signal that it will accept any data of a specific
class). In that case when the server sends data (or data of the indicated
class) that data is considered to be "requested" and so does
not violate the no-unrequested-extraResponseData rule.
The method for the client to signal willingness to accept data is
is by the inclusion of an accept extension in extraRequestData.
The Accept Extension
The method for the client to signal willingness to accept data (beyond
that which is otherwise requested by other extensions or by request
parameters) is is by the inclusion of an accept extension
in extraRequestData.
This is version 1.0 of the accept Extension.
The accept extension has the identifier and namespace: info:srw/1/accept-1.0
Values
Value |
Meaning |
| 'any' |
Client indicates that it will accept any extraData anywhere.
Note: Use of 'any' may be appropriate for some applications, however,
developers are cautioned to consider carefully whether they really
need this feature, which will increase complexity and unpredictability.
|
| 'anyResponse' |
Client indicates that it will accept any extraResponseData |
| 'anyRecord' |
Client indicates that it will accept any extraRecordData |
| 'anyTerm' |
Client indicates that it will accept any extraTermData |
Additional values mayl be added. Profile developers who wish
to name a class of data for use in this manner may request that the
name be added to the list. (Send request to rden@loc.gov.)
For SRU
For SRU, use the parameter 'x-info-1-accept'. e.g: ...&x-info-1-accept=any
For SRW
<extraRequestData>
<accept:accept xmlns:accept="info:srw/1/extensions/accept">any</accept:accept>
</extraRequestData>
|