diff --git a/doc/bib1-attr-man.xml b/doc/bib1-attr-man.xml index 41cdf5f1..c038710b 100644 --- a/doc/bib1-attr-man.xml +++ b/doc/bib1-attr-man.xml @@ -28,7 +28,12 @@ DESCRIPTION - This reference entry lists the Bib-1 attribute set types and values. + This reference entry lists the Bib-1 attribute set types and values, + including registered extensions through Use attribute 1225 (Provider, + approved in 2014). Bib-1 is maintained separately from the Z39.50-2003 + standard in the + Maintenance Agency's registry. + Index Data extensions are identified below. @@ -141,6 +146,195 @@ 1034 Content-type 1035 Anywhere 1036 Author-Title-Subject + 1037 SICI + 1038 Abstract-language + 1039 Application-kind + 1040 Classification + 1041 Classification-basic + 1042 Classification-local-record + 1043 Enzyme + 1044 Possessing-institution + 1045 Record-linking + 1046 Record-status + 1047 Treatment + 1048 Control-number-GKD + 1049 Control-number-linking + 1050 Control-number-PND + 1051 Control-number-SWD + 1052 Control-number-ZDB + 1053 Country-publication + 1054 Date-conference + 1055 Date-record-status + 1056 Dissertation-information + 1057 Meeting-organizer + 1058 Note-availability + 1059 Number-CAS-registry + 1060 Number-document + 1061 Number-local-accounting + 1062 Number-local-acquisition + 1063 Number-local-call-copy-specific + 1064 Number-of-reference + 1065 Number-norm + 1066 Number-volume + 1067 Place-conference + 1068 Reference + 1069 Referenced-journal + 1070 Section-code + 1071 Section-heading + 1072 Subject-GOO + 1073 Subject-name-conference + 1074 Subject-name-corporate + 1075 Subject-genre/form + 1076 Subject-name-geographical + 1077 Subject--chronological + 1078 Subject--title + 1079 Subject--topical + 1080 Subject-uncontrolled + 1081 Terminology-chemical + 1082 Title-translated + 1083 Year-of-beginning + 1084 Year-of-ending + 1085 Subject-AGROVOC + 1086 Subject-COMPASS + 1087 Subject-EPT + 1088 Subject-NAL + 1089 Classification-BCM + 1090 Classification-DB + 1091 Identifier-ISRC + 1092 Identifier-ISMN + 1093 Identifier-ISRN + 1094 Identifier-DOI + 1095 Code-language-original + 1096 Title-later + 1097 DC-Title + 1098 DC-Creator + 1099 DC-Subject + 1100 DC-Description + 1101 DC-Publisher + 1102 DC-Date + 1103 DC-ResourceType + 1104 DC-ResourceIdentifier + 1105 DC-Language + 1106 DC-OtherContributor + 1107 DC-Format + 1108 DC-Source + 1109 DC-Relation + 1110 DC-Coverage + 1111 DC-RightsManagement + 1112 Controlled Subject Index + 1113 Subject Thesaurus + 1114 Index Terms -- Controlled + 1115 Controlled Term + 1116 Spatial Domain + 1117 Bounding Coordinates + 1118 West Bounding Coordinate + 1119 East Bounding Coordinate + 1120 North Bounding Coordinate + 1121 South Bounding Coordinate + 1122 Place + 1123 Place Keyword Thesaurus + 1124 Place Keyword + 1125 Time Period + 1126 Time Period Textual + 1127 Time Period Structured + 1128 Beginning Date + 1129 Ending Date + 1130 Availability + 1131 Distributor + 1132 Distributor Name + 1133 Distributor Organization + 1134 Distributor Street Address + 1135 Distributor City + 1136 Distributor State or Province + 1137 Distributor Zip or Postal Code + 1138 Distributor Country + 1139 Distributor Network Address + 1140 Distributor Hours of Service + 1141 Distributor Telephone + 1142 Distributor Fax + 1143 Resource Description + 1144 Order Process + 1145 Order Information + 1146 Cost + 1147 Cost Information + 1148 Technical Prerequisites + 1149 Available Time Period + 1150 Available Time Textual + 1151 Available Time Structured + 1152 Available Linkage + 1153 Linkage Type + 1154 Linkage + 1155 Sources of Data + 1156 Methodology + 1157 Access Constraints + 1158 General Access Constraints + 1159 Originator Dissemination Control + 1160 Security Classification Control + 1161 Use Constraints + 1162 Point of Contact + 1163 Contact Name + 1164 Contact Organization + 1165 Contact Street Address + 1166 Contact City + 1167 Contact State or Province + 1168 Contact Zip or Postal Code + 1169 Contact Country + 1170 Contact Network Address + 1171 Contact Hours of Service + 1172 Contact Telephone + 1173 Contact Fax + 1174 Supplemental Information + 1175 Purpose + 1176 Agency Program + 1177 Cross Reference + 1178 Cross Reference Title + 1179 Cross Reference Relationship + 1180 Cross Reference Linkage + 1181 Schedule Number + 1182 Original Control Identifier + 1183 Language of Record + 1184 Record Review Date + 1185 Performer + 1186 Performer-Individual + 1187 Performer-Group + 1188 Instrumentation + 1189 Instrumentation-Original + 1190 Instrumentation-Current + 1191 Arrangement + 1192 Arrangement-Original + 1193 Arrangement-Current + 1194 Musical Key-Original + 1195 Musical Key-Current + 1196 Date-Composition + 1197 Date-Recording + 1198 Place-Recording + 1199 Country-Recording + 1200 Number-ISWC + 1201 Number-Matrix + 1202 Number-Plate + 1203 Classification-McColvin + 1204 Duration + 1205 Number-Copies + 1206 Musical Theme + 1207 Instruments - total number + 1208 Instruments - distinct number + 1209 Identifier - URN + 1210 Sears Subject Heading + 1211 OCLC Number + 1212 Composition + 1213 Intellectual level + 1214 EAN + 1215 NLC + 1216 CRCS + 1217 Nationality + 1218 Equinox + 1219 Compression + 1220 Format + 1221 Subject - occupation + 1222 Subject - function + 1223 Edition + 1224 GPO Item Number + 1225 Provider @@ -158,6 +352,7 @@ 101 Stem 102 Relevance 103 AlwaysMatches + 104 Within diff --git a/doc/book.xml b/doc/book.xml index baf61fda..68d2402f 100644 --- a/doc/book.xml +++ b/doc/book.xml @@ -57,9 +57,10 @@ - Complete Z39.50 version 3 support. - Amendments and Z39.50-2002 revision is supported. + The ASN.1 definitions track ANSI/NISO Z39.50-2003 Appendix 18, + with YAZ compatibility extensions + and exceptions. @@ -298,13 +299,28 @@ standard itself (such as the EXTERNAL type), the C representation is provided by the &odr; (Open Data Representation) subsystem. + + The definitions in z3950v3.asn track + ANSI/NISO + Z39.50-2003 Appendix 18. The main module is named + Z39-50-APDU-2001 and retains the OID + {Z39-50 2 1}. YAZ preserves legacy modules and C + identifiers, the typed IdAuthentication choice, + the estimate(4) result-set status extension, and + optional Permissions.userId. + PeriodicQuerySchedule intentionally retains its + pre-2003 form in YAZ 5: the corrected definition adds members to + exported C structures and is deferred to YAZ 6, when the library + SONAME major version can change. + &odr; is a basic mechanism for representing an ASN.1 type in the C programming language, and for implementing BER encoders and decoders for values of that type. The types defined in the &asn; module generally have the prefix Z_, and a suffix corresponding to the name of the type in the ASN.1 - specification of the protocol (generally Z39.50-1995). In the case of + specification of the protocol. Existing C names, including names + derived from Z39.50-1995, are retained for compatibility. In the case of base types (those originating in the ASN.1 standard itself), the prefix Odr_ is sometimes seen. Either way, look for the actual definition in either z-core.h (for the types @@ -3436,10 +3452,6 @@ Return Explain for SRU (optional). - - (more functions will be added in time to support as much of - Z39.50-1995 as possible). - The Backend API @@ -10266,6 +10278,14 @@ void odr_choice_bias(ODR o, int what); Bib-1 diagnostics List of Bib-1 diagnostics that are known to YAZ. + The table includes all codes in the Maintenance Agency's + Bib-1 + diagnostic list, including the approved extensions through + December 2002, plus YAZ's diagnostic 1074 (Proxy failure). + YAZ retains historical message wording that may differ + from the standard's wording. The messages in bib1.csv + also determine the public macro names in diagbib1.h. + Message corrections must preserve the existing macro names and codes. &bib1-diag-table; diff --git a/src/attset_bib1.csv b/src/attset_bib1.csv deleted file mode 100644 index 4805a067..00000000 --- a/src/attset_bib1.csv +++ /dev/null @@ -1,144 +0,0 @@ -"type", 1, "Use" -1, "Personal name" -2, "Corporate name" -3, "Conference name" -4, "Title" -5, "Title series" -6, "Title uniform" -7, "ISBN" -8, "ISSN" -9, "LC card number" -10, "BNB card number" -11, "BGF(sic) number" -12, "Local number" -13, "Dewey classification" -14, "UDC classification" -15, "Bliss classification" -16, "LC call number" -17, "NLM call number" -18, "NAL call number" -19, "MOS call number" -20, "Local classification" -21, "Subject heading" -22, "Subject Rameau" -23, "BDI index subject" -24, "INSPEC subject" -25, "MESH subject" -26, "PA subject" -27, "LC subject heading" -28, "RVM subject heading" -29, "Local subject index" -30, "Date" -31, "Date of publication" -32, "Date of acquisition" -33, "Title-key" -34, "Title collective" -35, "Title parallel" -36, "Title cover" -37, "Title added-title-page" -38, "Title caption" -39, "Title running" -40, "Title spine" -41, "Title other variant" -42, "Title former" -43, "Title abbreviated" -44, "Title expanded" -45, "Subject PRECIS" -46, "Subject RSWK" -47, "Subject subdivision" -48, "Number natl bibliography" -49, "Number legal deposit" -50, "Number govt publication" -51, "Number publisher for music" -52, "Number DB" -53, "Number local call" -54, "Code--language" -55, "Code--geographic area" -56, "Code--institution" -57, "Name and title" -58, "Name geographic" -59, "Place publication" -60, "CODEN" -61, "Microform generation" -62, "Abstract" -63, "Note" -1000, "Author-title" -1001, "Record type" -1002, "Name" -1003, "Author" -1004, "Author-name personal" -1005, "Author-name corporate" -1006, "Author-name conference" -1007, "Identifier--standard" -1008, "Subject--LC children's" -1009, "Subject name--personal" -1010, "Body of text" -Date/1011, "time added to database" -Date/1012, "time last modified" -Authority/1013, "format identifier" -1014, "Concept-text" -1015, "Concept-reference" -1016, "Any" -1017, "Server choice" -1018, "Publisher" -1019, "Record source" -1020, "Editor" -1021, "Bib-level" -1022, "Geographic class" -1023, "Indexed by" -1024, "Map scale" -1025, "Music key" -1026, "Related periodical" -1027, "Report number" -1028, "Stock number" -1030, "Thematic number" -1031, "Material type" -1032, "Doc ID" -1033, "Host item" -1034, "Content type" -1035, "Anywhere" -1036, "Author-Title-Subject" -"type", 2, "Relation" -1, "Less than" -2, "Less than or equal" -3, "Equal" -4, "Greater or equal", -5, "Greater than" -6, "Not equal" -100, "Phonetic" -101, "Stem" -102, "Relevance" -103, "AlwaysMatches" -"type", 3, "Position" -1, "First in field" -2, "First in subfield" -3, "Any position in field" -"type", 4, "Structure" -1, "Phrase" -2, "Word" -3, "Key" -4, "Year" -5, "Date (normalized)" -6, "Word list" -100, "Date (un-normalized)" -101, "Name (normalized)" -102, "Name (un-normalized)" -103, "Structure" -104, "Urx" -105, "Free-form-text" -106, "Document-text" -107, "Local-number" -108, "String -109, "Numeric string" -"type", 5, "Truncation" -1, "Right truncation" -2, "Left truncation" -3, "Left and right truncation" -100, "Do not truncate" -101, "Process # in search term" -102, "RegExpr-1" -103, "RegExpr-2" -"type", 6, "Completeness" -1, "Incomplete subfield" -2, "Complete subfield" -3, "Complete field" diff --git a/src/bib1.csv b/src/bib1.csv index 7b8fe0fe..5584a1ee 100644 --- a/src/bib1.csv +++ b/src/bib1.csv @@ -1,3 +1,10 @@ +# Bib-1 (general) diagnostics: includes the Maintenance Agency's approved +# extensions through December 2002, covering the 2001/2003 revision period. +# https://loc.gov/standards/z3950/agency/defns/bib1diag.html +# Preserve existing codes and public macro names for YAZ 5 compatibility. +# csvtodiag.tcl derives public macro names as well as lookup strings from +# these messages; verify that message corrections leave the macros unchanged. +# Code 1074 is a YAZ addition beyond the list linked above. 1, "Permanent system error" 2, "Temporary system error" 3, "Unsupported search" @@ -110,7 +117,7 @@ 245, "Type-1 query: restriction ('resultAttr') operand not supported" 246, "Type-1 query: 'complex' attributeValue not supported" 247, "Type-1 query: 'attributeSet' as part of AttributeElement not supported" -1001, "Malformed APDU" +1001, "Malformed APDU" 1002, "ES: EXTERNAL form of Item Order request not supported" 1003, "ES: Result set item form of Item Order request not supported" 1004, "ES: Extended services not supported unless access control is in effect" @@ -157,14 +164,13 @@ 1055, "Init: negotiation option required" 1056, "Attribute not supported for database" 1057, "ES: Unsupported value of task package parameter" -1058, "Duplicate Detection: Cannot dedup on requested record portion" +1058, "Duplicate Detection: Cannot dedup on requested record portion" 1059, "Duplicate Detection: Requested detection criterion not supported" 1060, "Duplicate Detection: Requested level of match not supported" 1061, "Duplicate Detection: Requested regular expression not supported" 1062, "Duplicate Detection: Cannot do clustering" 1063, "Duplicate Detection: Retention criterion not supported" -1064, "Duplicate Detection: Requested number (or percentage) of entries " - "for retention too large" +1064, "Duplicate Detection: Requested number (or percentage) of entries for retention too large" 1065, "Duplicate Detection: Requested sort criterion not supported" 1066, "CompSpec: Unknown schema, or schema not supported." 1067, "Encapsulation: Encapsulated sequence of PDUs not supported" diff --git a/src/datetime.asn b/src/datetime.asn index cab9eb0b..86004240 100644 --- a/src/datetime.asn +++ b/src/datetime.asn @@ -1,7 +1,7 @@ UserInfoFormat-dateTime {Z39-50-userInfoFormat dateTime (6)} DEFINITIONS ::= BEGIN -IMPORTS IntUnit FROM Z39-50-APDU-1995; +IMPORTS IntUnit FROM Z39-50-APDU-2001; DateTime ::= SEQUENCE{ date [1] Z3950Date OPTIONAL, diff --git a/src/esadmin.asn b/src/esadmin.asn index 9ec766be..094a8e9f 100644 --- a/src/esadmin.asn +++ b/src/esadmin.asn @@ -3,7 +3,7 @@ ESFormat-Admin -- oid is 1.2.840.10003.9.81.1 BEGIN IMPORTS DiagRec, InternationalString, Segment -FROM Z39-50-APDU-1995; +FROM Z39-50-APDU-2001; Admin ::= CHOICE{ esRequest [1] IMPLICIT SEQUENCE{ toKeep [1] OriginPartToKeep, diff --git a/src/esupdate.asn b/src/esupdate.asn index e6628a12..0b158f9e 100644 --- a/src/esupdate.asn +++ b/src/esupdate.asn @@ -3,7 +3,7 @@ ESFormat-Update -- oid is 1.2.840.10003.9.5.1.1 BEGIN IMPORTS DiagRec, InternationalString -FROM Z39-50-APDU-1995; +FROM Z39-50-APDU-2001; Update ::= CHOICE{ esRequest [1] IMPLICIT SEQUENCE{ toKeep [1] OriginPartToKeep, diff --git a/src/facet.asn b/src/facet.asn index c3e964e4..2315a5d7 100644 --- a/src/facet.asn +++ b/src/facet.asn @@ -1,7 +1,7 @@ UserInfoFormat-facet-1 {Z39-50-userInfoFormat facet-1 (1)} DEFINITIONS ::= BEGIN -IMPORTS AttributeList, Term FROM Z39-50-APDU-1995; +IMPORTS AttributeList, Term FROM Z39-50-APDU-2001; FacetList ::= SEQUENCE OF FacetField; FacetField ::= SEQUENCE { diff --git a/src/mterm2.asn b/src/mterm2.asn index 6ec951db..4d713904 100644 --- a/src/mterm2.asn +++ b/src/mterm2.asn @@ -1,7 +1,7 @@ UserInfoFormat-multipleSearchTerms-2 {Z39-50-userInfoFormat MultipleSearchTerms-2 (5)} DEFINITIONS ::= BEGIN -IMPORTS Term FROM Z39-50-APDU-1995; +IMPORTS Term FROM Z39-50-APDU-2001; MultipleSearchTerms-2 ::= SEQUENCE OF SEQUENCE{ term [1] Term, diff --git a/src/oid.csv b/src/oid.csv index ebef64be..1f149cc6 100644 --- a/src/oid.csv +++ b/src/oid.csv @@ -127,7 +127,7 @@ TAGSET, Z3950_PREFIX.14.3, "STAS-tagset" TAGSET, Z3950_PREFIX.14.4, "GILS-tagset" TAGSET, Z3950_PREFIX.14.5, "Collections-tagset" TAGSET, Z3950_PREFIX.14.6, "CIMI-tagset" -TAGSET, Z3950_PREFIX.14.1000.81.1, "thesaurus-tagset" +TAGSET, Z3950_PREFIX.14.1000.81.1, "thesaurus-tagset" TAGSET, Z3950_PREFIX.14.1000.81.2, "Explain-tagset" TAGSET, Z3950_PREFIX.14.8, "Zthes-tagset" NEGOT, Z3950_PREFIX.15.3, "Charset-3" diff --git a/src/univres.asn b/src/univres.asn index f83320dd..638a30c4 100644 --- a/src/univres.asn +++ b/src/univres.asn @@ -1,7 +1,7 @@ ResourceReport-Format-Universe-1 {Z39-50-resourceReport universe-1 (1000)} DEFINITIONS ::= BEGIN -IMPORTS StringOrNumeric FROM Z39-50-APDU-1995; +IMPORTS StringOrNumeric FROM Z39-50-APDU-2001; -- UniverseReportHits ::= SEQUENCE { diff --git a/src/z.tcl b/src/z.tcl index 9943fa58..18b8a371 100644 --- a/src/z.tcl +++ b/src/z.tcl @@ -22,7 +22,7 @@ set prefix(ESFormat-ExportInvocation) {z_EI Z_EI Z_EI} # ---------------------------------------------------------- # Settings for core of the protocol -set m Z39-50-APDU-1995 +set m Z39-50-APDU-2001 # Filename set filename($m) z-core diff --git a/src/z3950v3.asn b/src/z3950v3.asn index a8d83c29..ef819f05 100644 --- a/src/z3950v3.asn +++ b/src/z3950v3.asn @@ -1,6 +1,12 @@ -Z39-50-APDU-1995 -- OID for this definition, assigned in OID.3.1, is {Z39-50 2 1} +Z39-50-APDU-2001 -- OID for this definition, assigned in OID.3.1, is {Z39-50 2 1} DEFINITIONS ::= -BEGIN -- Z39.50 Maintenance Agency Official Text for ANSI/NISO Z39.50-1995 - July 1995 +BEGIN +-- Tracks ANSI/NISO Z39.50-2003 Appendix 18, with YAZ compatibility extensions. +-- https://www.loc.gov/z3950/agency/Z39-50-2003.pdf +-- This is not a verbatim copy: legacy modules and C identifiers are retained. +-- YAZ keeps typed IdAuthentication, resultSetStatus estimate(4), and OPTIONAL +-- Permissions.userId. PeriodicQuerySchedule retains its pre-2003 form for the +-- YAZ 5 ABI; see the compatibility notes at the corresponding definitions. -- EXPORTS OtherInformation, Term, AttributeSetId, AttributeList, AttributeElement, ElementSetName, SortElement, DatabaseName, CompSpec, Specification, Permissions, InternationalString, IntUnit, Unit, StringOrNumeric, Query, Records, ResultSetId, @@ -32,6 +38,8 @@ PDU ::= CHOICE{ extendedServicesRequest [46] IMPLICIT ExtendedServicesRequest, extendedServicesResponse [47] IMPLICIT ExtendedServicesResponse, close [48] IMPLICIT Close, + -- The complete 2003 standard and Duplicate Detection amendment use this type. + -- ExtendedServicesRequest in the standalone Appendix ASN.1 is a typo. duplicateDetectionRequest [49] IMPLICIT DuplicateDetectionRequest, duplicateDetectionResponse [50] IMPLICIT DuplicateDetectionResponse} @@ -51,8 +59,9 @@ PDU ::= CHOICE{ userInformationField [11] EXTERNAL OPTIONAL, otherInfo OtherInformation OPTIONAL} --Note: --- For idAuthentication, the type ANY is retained for compatibility with earlier versions. --- For interoperability, the following is recommended: +-- The standard declares idAuthentication as ANY and recommends the structured +-- form below. YAZ uses this typed CHOICE directly; retain it for API/ABI +-- compatibility rather than replacing it with ANY. IdAuthentication ::= CHOICE{ open VisibleString, @@ -250,7 +259,7 @@ SearchResponse ::= SEQUENCE{ subset (1), interim (2), none (3), - estimate(4) + estimate(4) -- YAZ extension added in 2007; retained for compatibility. } OPTIONAL, presentStatus PresentStatus OPTIONAL, records Records OPTIONAL, @@ -651,6 +660,8 @@ ExtendedServicesResponse ::= SEQUENCE{ -- 'taskPackage'. otherInfo OtherInformation OPTIONAL} +-- YAZ permits an absent userId, unlike the mandatory field in the 2003 ASN.1. +-- Retain OPTIONAL for compatibility with existing YAZ encoders and decoders. Permissions ::= SEQUENCE OF SEQUENCE{ userId [1] IMPLICIT InternationalString OPTIONAL, allowableFunctions [2] IMPLICIT SEQUENCE OF INTEGER{ @@ -805,7 +816,7 @@ DiagnosticFormatDiag1 {Z39-50-diagnosticFormat diag-1 (2)} DEFINITIONS ::= BEGIN IMPORTS Term, Specification, AttributeList, SortElement, DatabaseName, -DefaultDiagFormat, InternationalString FROM Z39-50-APDU-1995; +DefaultDiagFormat, InternationalString FROM Z39-50-APDU-2001; DiagnosticFormat ::= SEQUENCE OF SEQUENCE{ @@ -1017,7 +1028,7 @@ RecordSyntax-explain BEGIN IMPORTS AttributeSetId, Term, OtherInformation, DatabaseName, ElementSetName, IntUnit, Unit, - StringOrNumeric, Specification, InternationalString, AttributeList, AttributeElement FROM Z39-50-APDU-1995; + StringOrNumeric, Specification, InternationalString, AttributeList, AttributeElement FROM Z39-50-APDU-2001; EXPORTS LanguageCode; Explain-Record ::= CHOICE{ @@ -1757,7 +1768,7 @@ END RecordSyntax-SUTRS {Z39-50-recordSyntax SUTRS (101)} DEFINITIONS ::= BEGIN -IMPORTS InternationalString FROM Z39-50-APDU-1995; +IMPORTS InternationalString FROM Z39-50-APDU-2001; SutrsRecord ::= InternationalString -- Line terminator is ASCII LF (X'0A'). -- Recommended maximum line length is 72 characters. @@ -1770,7 +1781,7 @@ END RecordSyntax-opac {Z39-50-recordSyntax opac (102)} DEFINITIONS ::= BEGIN -IMPORTS InternationalString FROM Z39-50-APDU-1995; +IMPORTS InternationalString FROM Z39-50-APDU-2001; OPACRecord ::= SEQUENCE { bibliographicRecord [1] IMPLICIT EXTERNAL OPTIONAL, holdingsData [2] IMPLICIT SEQUENCE OF HoldingsRecord OPTIONAL} @@ -1824,7 +1835,7 @@ RecordSyntax-summary {Z39-50-recordSyntax summary (103)} DEFINITIONS ::= BEGIN -IMPORTS OtherInformation, InternationalString FROM Z39-50-APDU-1995; +IMPORTS OtherInformation, InternationalString FROM Z39-50-APDU-2001; BriefBib ::= SEQUENCE { title [1] IMPLICIT InternationalString, author [2] IMPLICIT InternationalString OPTIONAL, @@ -1860,7 +1871,7 @@ RecordSyntax-generic -- For detailed semantics, see Appendix RET. {Z39-50-recordSyntax GRS-1 (105)} DEFINITIONS ::= BEGIN EXPORTS Variant; -IMPORTS IntUnit, Unit, InternationalString, StringOrNumeric, Term FROM Z39-50-APDU-1995; +IMPORTS IntUnit, Unit, InternationalString, StringOrNumeric, Term FROM Z39-50-APDU-2001; GenericRecord ::= SEQUENCE OF TaggedElement TaggedElement ::= SEQUENCE { @@ -1982,7 +1993,7 @@ END RecordSyntax-ESTaskPackage {Z39-50-recordSyntax ESTaskPackage (106)} DEFINITIONS ::= BEGIN -IMPORTS Permissions, InternationalString, IntUnit, DiagRec FROM Z39-50-APDU-1995; +IMPORTS Permissions, InternationalString, IntUnit, DiagRec FROM Z39-50-APDU-2001; TaskPackage ::= SEQUENCE{ packageType [1] IMPLICIT OBJECT IDENTIFIER, @@ -2013,7 +2024,7 @@ END ResourceReport-Format-Resource-1 {Z39-50-resourceReport resource-1 (1)} DEFINITIONS ::= BEGIN -IMPORTS InternationalString FROM Z39-50-APDU-1995; +IMPORTS InternationalString FROM Z39-50-APDU-2001; -- ResourceReport ::= SEQUENCE{ estimates [1] IMPLICIT SEQUENCE OF Estimate, @@ -2064,7 +2075,7 @@ END ResourceReport-Format-Resource-2 {Z39-50-resourceReport resource-2 (2)} DEFINITIONS ::= BEGIN -IMPORTS InternationalString, StringOrNumeric, IntUnit FROM Z39-50-APDU-1995; +IMPORTS InternationalString, StringOrNumeric, IntUnit FROM Z39-50-APDU-2001; -- ResourceReport ::= SEQUENCE{ estimates [1] IMPLICIT SEQUENCE OF Estimate OPTIONAL, @@ -2088,7 +2099,7 @@ END AccessControlFormat-prompt-1 {Z39-50-accessControl prompt-1 (1)} DEFINITIONS ::= BEGIN -IMPORTS InternationalString, DiagRec FROM Z39-50-APDU-1995; +IMPORTS InternationalString, DiagRec FROM Z39-50-APDU-2001; -- PromptObject ::= CHOICE{ challenge [1] IMPLICIT Challenge, @@ -2191,7 +2202,7 @@ END AccessControlFormat-krb-1 {Z39-50-accessControlFormat krb-1 (3)} DEFINITIONS ::= BEGIN -IMPORTS InternationalString FROM Z39-50-APDU-1995; +IMPORTS InternationalString FROM Z39-50-APDU-2001; KRBObject ::= CHOICE { challenge [1] IMPLICIT KRBRequest, @@ -2218,7 +2229,7 @@ END ESFormat-PersistentResultSet {Z39-50-extendedService PersistentResultSet (1)} DEFINITIONS ::= BEGIN -IMPORTS InternationalString FROM Z39-50-APDU-1995; +IMPORTS InternationalString FROM Z39-50-APDU-2001; PersistentResultSet ::= CHOICE{ esRequest [1] IMPLICIT SEQUENCE{ toKeep [1] IMPLICIT NULL, @@ -2243,7 +2254,7 @@ END ESFormat-PersistentQuery {Z39-50-extendedService PersistentQuery (2)} DEFINITIONS ::= BEGIN -IMPORTS Query, InternationalString, OtherInformation FROM Z39-50-APDU-1995; +IMPORTS Query, InternationalString, OtherInformation FROM Z39-50-APDU-2001; PersistentQuery ::= CHOICE{ esRequest [1] IMPLICIT SEQUENCE{ toKeep [1] OriginPartToKeep OPTIONAL, @@ -2260,10 +2271,16 @@ OriginPartNotToKeep ::= CHOICE{ TargetPart ::= Query END +-- YAZ 5 ABI compatibility: intentionally retain the pre-2003 schedule below. +-- The corrected 2001/2003 form adds databaseNames and additionalSearchInfo +-- to OriginPartNotToKeep and TargetPart, and makes lastQueryTime and +-- lastResultNumber OPTIONAL. Adding members changes the exported Z_PQS* +-- C struct layouts. +-- Defer these corrections to YAZ 6 / a SONAME-major transition. ESFormat-PeriodicQuerySchedule {Z39-50-extendedService PeriodicQuerySchedule (3)} DEFINITIONS ::= BEGIN -IMPORTS Query, InternationalString, IntUnit FROM Z39-50-APDU-1995 +IMPORTS Query, InternationalString, IntUnit FROM Z39-50-APDU-2001 ExportSpecification, Destination FROM ESFormat-ExportSpecification; PeriodicQuerySchedule ::= CHOICE{ @@ -2328,7 +2345,7 @@ END ESFormat-ItemOrder {Z39-50-extendedService ItemOrder (4)} DEFINITIONS ::= BEGIN -IMPORTS InternationalString FROM Z39-50-APDU-1995; +IMPORTS InternationalString FROM Z39-50-APDU-2001; ItemOrder ::= CHOICE{ esRequest [1] IMPLICIT SEQUENCE{ toKeep [1] OriginPartToKeep OPTIONAL, @@ -2388,7 +2405,7 @@ END ESFormat-Update0 {Z39-50-extendedService Update (5)} DEFINITIONS ::= BEGIN -IMPORTS DiagRec, InternationalString FROM Z39-50-APDU-1995; +IMPORTS DiagRec, InternationalString FROM Z39-50-APDU-2001; Update ::= CHOICE{ esRequest [1] IMPLICIT SEQUENCE{ toKeep [1] OriginPartToKeep, @@ -2470,7 +2487,7 @@ END ESFormat-ExportSpecification {Z39-50-extendedService ExportSpecification (6)} DEFINITIONS ::= BEGIN -EXPORTS ExportSpecification, Destination; IMPORTS CompSpec, InternationalString FROM Z39-50-APDU-1995; +EXPORTS ExportSpecification, Destination; IMPORTS CompSpec, InternationalString FROM Z39-50-APDU-2001; ExportSpecification ::= CHOICE{ esRequest [1] IMPLICIT SEQUENCE{ toKeep [1] OriginPartToKeep, @@ -2502,7 +2519,7 @@ END ESFormat-ExportInvocation {Z39-50-extendedService ExportInvocation (7)} DEFINITIONS ::= BEGIN -IMPORTS InternationalString, IntUnit FROM Z39-50-APDU-1995 +IMPORTS InternationalString, IntUnit FROM Z39-50-APDU-2001 ExportSpecification FROM ESFormat-ExportSpecification; ExportInvocation ::= CHOICE{ esRequest [1] IMPLICIT SEQUENCE{ @@ -2545,7 +2562,7 @@ END UserInfoFormat-searchResult-1 {Z39-50-userInfoFormat searchResult-1 (1)} DEFINITIONS ::= BEGIN -IMPORTS DatabaseName, Term, Query, IntUnit, InternationalString FROM Z39-50-APDU-1995; +IMPORTS DatabaseName, Term, Query, IntUnit, InternationalString FROM Z39-50-APDU-2001; SearchInfoReport ::= SEQUENCE OF SEQUENCE{ subqueryId [1] IMPLICIT InternationalString OPTIONAL, -- shorthand identifier of subquery @@ -2593,7 +2610,7 @@ ElementSpecificationFormat-eSpec-1 {Z39-50-elementSpec eSpec-1 (1)} DEFINITIONS ::= BEGIN IMPORTS Variant FROM RecordSyntax-generic -StringOrNumeric, InternationalString FROM Z39-50-APDU-1995; +StringOrNumeric, InternationalString FROM Z39-50-APDU-2001; -- Espec-1 ::= SEQUENCE{ elementSetNames [1] IMPLICIT SEQUENCE OF InternationalString OPTIONAL,