SRU (Search/Retrieval Using URL)

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>