X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=z39.50%2Fz3950v3.asn;h=98cf885c66662c6bcbe048302c5667f0eca0ea69;hb=58f8067bb0bac4d08b7fae8e0e93159759ce4dfa;hp=597437057dc75f1bfcfee4b43a0d2e079c13b684;hpb=161ec45b40a3ab08e08946c9654ab6fea4604760;p=yaz-moved-to-github.git diff --git a/z39.50/z3950v3.asn b/z39.50/z3950v3.asn index 5974370..98cf885 100644 --- a/z39.50/z3950v3.asn +++ b/z39.50/z3950v3.asn @@ -4,7 +4,7 @@ BEGIN -- Z39.50 Maintenance Agency Official Text for ANSI/NISO Z39.50-1995 - J -- EXPORTS OtherInformation, Term, AttributeSetId, AttributeList, AttributeElement, ElementSetName, SortElement, DatabaseName, CompSpec, Specification, Permissions, InternationalString, IntUnit, Unit, StringOrNumeric, Query, Records, ResultSetId, -DefaultDiagFormat, DiagRec; +DefaultDiagFormat, DiagRec, Segment; -- PDU ::= CHOICE{ @@ -31,7 +31,9 @@ PDU ::= CHOICE{ segmentRequest [45] IMPLICIT Segment, extendedServicesRequest [46] IMPLICIT ExtendedServicesRequest, extendedServicesResponse [47] IMPLICIT ExtendedServicesResponse, - close [48] IMPLICIT Close} + close [48] IMPLICIT Close, + duplicateDetectionRequest [49] IMPLICIT DuplicateDetectionRequest, + duplicateDetectionResponse [50] IMPLICIT DuplicateDetectionResponse} -- Initialize APDUs @@ -99,12 +101,20 @@ IdAuthentication ::= accessCtrl (6), scan (7), sort (8), - -- (9) (reserved) + -- (not used) (9), extendedServices (10), level-1Segmentation (11), level-2Segmentation (12), concurrentOperations (13), - namedResultSets (14)} + namedResultSets (14), + encapsulation (15), + resultCount (16), + negotiationModel (17), + duplicateDetection (18), + queryType104 (19), + pQESCorrection (20), + stringSchema (21) +} -- end auxiliary definitions for Init PDUs @@ -133,7 +143,9 @@ IdAuthentication ::= type-2 [2] OCTET STRING, type-100 [100] OCTET STRING, type-101 [101] IMPLICIT RPNQuery, - type-102 [102] OCTET STRING} + type-102 [102] OCTET STRING, + type-104 [104] IMPLICIT EXTERNAL +} -- -- Definitions for RPN query RPNQuery ::= SEQUENCE{ @@ -346,7 +358,10 @@ SearchResponse ::= SEQUENCE{ -- selectAlternativeSyntax is 'true'. } Specification ::= SEQUENCE{ - schema [1] IMPLICIT OBJECT IDENTIFIER OPTIONAL, + schema CHOICE { + oid [1] IMPLICIT OBJECT IDENTIFIER, + uri [300] IMPLICIT InternationalString + } OPTIONAL, elementSpec [2] CHOICE{ elementSetName [1] IMPLICIT InternationalString, externalEspec [2] IMPLICIT EXTERNAL} OPTIONAL} @@ -550,6 +565,7 @@ SortResponse ::= SEQUENCE{ unchanged (3), none (4)} OPTIONAL, diagnostics [5] IMPLICIT SEQUENCE OF DiagRec OPTIONAL, + resultCount [6] IMPLICIT INTEGER OPTIONAL, otherInfo OtherInformation OPTIONAL} -- begin auxiliary definitions for Sort @@ -667,6 +683,66 @@ Close ::= SEQUENCE{ peerAbort (8), unspecified (9)} +--Duplicate detection APDUs +DuplicateDetectionRequest ::= SEQUENCE { + referenceId ReferenceId OPTIONAL, + inputResultSetIds [3] IMPLICIT SEQUENCE OF InternationalString, + outputResultSetName [4] IMPLICIT InternationalString, + applicablePortionOfRecord [5] IMPLICIT EXTERNAL OPTIONAL, + duplicateDetectionCriteria [6] IMPLICIT SEQUENCE OF + DuplicateDetectionCriterion OPTIONAL, + clustering [7] IMPLICIT BOOLEAN OPTIONAL, + -- 'true' means "clustered". + -- This parameter may be omitted + -- only if retentionCriteria CHOICE is + -- 'numberOfEntries' and its value is 1. + retentionCriteria [8] IMPLICIT SEQUENCE OF + RetentionCriterion, + sortCriteria [9] IMPLICIT SEQUENCE OF + SortCriterion OPTIONAL, + otherInfo OtherInformation OPTIONAL} + +DuplicateDetectionCriterion ::= CHOICE{ + levelOfMatch [1] IMPLICIT INTEGER, + -- a percentage; 1-100. + caseSensitive [2] IMPLICIT NULL, + punctuationSensitive [3] IMPLICIT NULL, + regularExpression [4] IMPLICIT EXTERNAL, + rsDuplicates [5] IMPLICIT NULL + -- values 6-100 reserved for future assignment. + } + +RetentionCriterion ::= CHOICE{ + numberOfEntries [1] IMPLICIT INTEGER, + -- greater than 0 + percentOfEntries [2] IMPLICIT INTEGER, + -- 1-100, + duplicatesOnly [3] IMPLICIT NULL, + -- should not be chosen + -- if clustering is 'true' + discardRsDuplicates [4] IMPLICIT NULL + -- values 5-100 reserved for future assignment. + } + +SortCriterion ::= CHOICE{ + mostComprehensive [1] IMPLICIT NULL, + leastConmprehensive [2] IMPLICIT NULL, + mostRecent [3] IMPLICIT NULL, + oldest [4] IMPLICIT NULL, + leastCost [5] IMPLICIT NULL, + preferredDatabases [6] IMPLICIT + SEQUENCE OF InternationalString + -- values 7-100 reserved for future assignment. +} + +DuplicateDetectionResponse ::= SEQUENCE { + referenceId ReferenceId OPTIONAL, + status [3] IMPLICIT INTEGER{ + success (0), + failure (1)}, + resultSetCount [4] IMPLICIT INTEGER OPTIONAL, + diagnostics [5] IMPLICIT SEQUENCE OF DiagRec OPTIONAL, + otherInfo OtherInformation OPTIONAL} -- Global auxiliary definitions ReferenceId ::= [2] IMPLICIT OCTET STRING @@ -940,6 +1016,7 @@ RecordSyntax-explain BEGIN IMPORTS AttributeSetId, Term, OtherInformation, DatabaseName, ElementSetName, IntUnit, Unit, StringOrNumeric, Specification, InternationalString, AttributeList, AttributeElement FROM Z39-50-APDU-1995; +EXPORTS LanguageCode; Explain-Record ::= CHOICE{ -- Each of these may be used as search term when Use attribute is 'explain-category'.