X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=doc%2Ffrontend.xml;h=cbb533ac2e7c02f615ff3ba68c753978b63302c4;hb=a54c709b3e2feff5762bfa7dfa8ee653b429d369;hp=dbd210475e456ca992fe589b03318cd5f5036921;hpb=b7e415906df8d63b3607c892dc2f6ef6bbea8fb1;p=yaz-moved-to-github.git diff --git a/doc/frontend.xml b/doc/frontend.xml index dbd2104..cbb533a 100644 --- a/doc/frontend.xml +++ b/doc/frontend.xml @@ -1,4 +1,4 @@ - + Generic server Introduction @@ -44,8 +44,7 @@ - The &yaz; server does not provide full SRW functionality. - However, it provides an adapter for SRW (to Z39.50). + The &yaz; server does not support XCQL. @@ -333,8 +332,8 @@ bend_initresult (*bend_init)(bend_initrequest *r); - This handler is also called when operating in SRW mode - when - a connection has been made (even though SRW does not offer + This handler is also called when operating in SRW/SRU mode - when + a connection has been made (even though SRW/SRU does not offer this service). @@ -497,8 +496,8 @@ typedef struct { The bend_search handler is also called when - the frontend server receives a SRW SearchRetrieveRequest. - For SRW, a CQL query is usually provided by the client. + the frontend server receives a SRW/SRU SearchRetrieveRequest. + For SRW/SRU, a CQL query is usually provided by the client. The CQL query is available as part of Z_Query structure (note that CQL is now part of Z39.50 via an external). To support CQL in existing implementations that only do Type-1, @@ -509,8 +508,8 @@ typedef struct { To maintain backwards compatibility, the frontend server of yaz always assume that error codes are BIB-1 diagnostics. - For SRW operation, a Bib-1 diagnostic code is mapped to - SRW diagnostic. + For SRW/SRU operation, a Bib-1 diagnostic code is mapped to + SRW/SRU diagnostic. @@ -535,13 +534,14 @@ typedef struct bend_fetch_rr { int errcode; /* 0==success */ char *errstring; /* system error string or NULL */ int surrogate_flag; /* surrogate diagnostic */ + char *schema; /* string record schema input/output */ } bend_fetch_rr; The frontend server calls the bend_fetch handler when it needs database records to fulfill a Z39.50 Search Request, a - Z39.50 Present Request or a SRW SearchRetrieveRequest. + Z39.50 Present Request or a SRW SearchRetrieveRequest. The setname is simply the name of the result set that holds the reference to the desired record. The number is the offset into the set (with 1 @@ -559,13 +559,13 @@ typedef struct bend_fetch_rr { - If a SRW SearchRetrieveRequest is received by the frontend server, - the referenceId is NULL, the request_format - (transfer syntax) is XML (OID name + If a SRW/SRU SearchRetrieveRequest is received by the frontend server, + the referenceId is NULL and the + request_format (transfer syntax) is XML (OID name VAL_TEXT_XML). - The schema for SRW is stored in the + The schema for SRW/SRU is stored in both the Z_RecordComposition - structure. + structure and schema (simple string). @@ -573,7 +573,7 @@ typedef struct bend_fetch_rr { database that holds the record. len is the length of the record returned, in bytes, and record is a pointer to the record. - Last_in_set should be nonzero only if the record + last_in_set should be nonzero only if the record returned is the last one in the given result set. errcode and errstring, if given, will be interpreted as a global error pertaining to the