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,