When the server cannot supply a record according to the requested syntax, or if no specific syntax is requested, how should the server determine which if any (alternative) syntax to use.
When preferredRecordsyntax is supplied:
- This clarification assumes that the established set of presentation contexts is empty. See clarification No Presentation Context. The answer to this question when presentation contexts are established is not addressed.
- It is also assumed for simplicity (and without loss of generality) that the question pertains to a Present request.
- It is further assumed that the compSpec parameter is not supplied (or if it is supplied, that no record syntax ids are included within).
When a particular record is not available in the requested syntax, the server should return a surrogate diagnostic such as bib-1 238: "Record not available in requested syntax", or a variation such as 1070: "user not authorized to receive record(s) in requested syntax" (used as a surrogate).
Alternatively, the server may fail the request in the case where none of the requested records is available in the requested syntax (227: "No data available in requested record syntax "), or when the syntax is not supported (239: "Record syntax not supported"), or user is not authorized (1070, used as a non-surrogate).
In any case, whenever preferredRecordSyntax is supplied, the server should not supply any records in any other syntax.
When preferredRecordSyntax is not supplied:
The server may interpret the omission of preferredRecordSyntax to mean that the client wishes the server to select an appropriate syntax (which may be different for different record). However the server is free to treat this case as it sees fit; it may:
- fail the request (with diagnostic 1071: "preferredRecordSyntax not supplied" used as a non-surrogate diagnostic; or 1069: "No syntaxes available for this request");
- select a syntax for some records and decline to select a syntax for others (with diagnostic 1071, used as a surrogate diagnostic); or
- select a syntax for each record.