--
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{
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
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
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{
-- 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}
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
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
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'.
recordInsert (1),
recordReplace (2),
recordDelete (3),
- elementUpdate (4)},
+ elementUpdate (4),
+ specialUpdate (5)},
databaseName [2] IMPLICIT InternationalString,
schema [3] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
- elementSetName [4] IMPLICIT InternationalString OPTIONAL}
-
+ elementSetName [4] IMPLICIT InternationalString OPTIONAL,
+ actionQualifier [5] IMPLICIT EXTERNAL OPTIONAL}
OriginPartNotToKeep ::= SuppliedRecords
id [2] IMPLICIT INTEGER OPTIONAL}
TaskPackageRecordStructure ::= SEQUENCE{
- recordOrSurDiag [1] CHOICE {
- record [1] IMPLICIT EXTERNAL,
- -- Choose 'record' if recordStatus is 'success', and
- -- elementSetName was supplied.
- diagnostic [2] DiagRec
- -- Choose 'diagnostic', if RecordStatus is failure.
- } OPTIONAL,
- -- The parameter recordOrSurDiag will thus be omitted only if
- -- 'elementSetName' was omitted and recordStatus is
- -- 'success'; or if record status is 'queued' or in 'process'.
- correlationInfo [2] IMPLICIT CorrelationInfo OPTIONAL,
+ recordOrSurDiag [1] CHOICE {
+ record [1] IMPLICIT EXTERNAL,
+ -- ........
+ surrogateDiagnostics [2] IMPLICIT
+ SEQUENCE OF DiagRec
+ -- Choose 'SurrogateDiagnostics', if
+ -- RecordStatus is failure.
+ } OPTIONAL,
+ correlationInfo [2] IMPLICIT CorrelationInfo OPTIONAL,
-- This should be included if it was supplied by the origin.
- recordStatus [3] IMPLICIT INTEGER{
+ recordStatus [3] IMPLICIT INTEGER{
success (1),
queued (2),
inProcess (3),
- failure (4)}}
+ failure (4)},
+ supplementalDiagnostics [4] IMPLICIT
+ SEQUENCE OF DiagRec OPTIONAL}
END