📄 z3950v3.asn
字号:
Z39-50-APDU-1995 -- 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--EXPORTS OtherInformation, Term, AttributeSetId, AttributeList, AttributeElement, ElementSetName, SortElement, DatabaseName,CompSpec, Specification, Permissions, InternationalString, IntUnit, Unit, StringOrNumeric, Query, Records, ResultSetId,DefaultDiagFormat, DiagRec;--PDU ::= CHOICE{ initRequest [20] IMPLICIT InitializeRequest, initResponse [21] IMPLICIT InitializeResponse, searchRequest [22] IMPLICIT SearchRequest, searchResponse [23] IMPLICIT SearchResponse, presentRequest [24] IMPLICIT PresentRequest, presentResponse [25] IMPLICIT PresentResponse, deleteResultSetRequest [26] IMPLICIT DeleteResultSetRequest, deleteResultSetResponse [27] IMPLICIT DeleteResultSetResponse, accessControlRequest [28] IMPLICIT AccessControlRequest, accessControlResponse [29] IMPLICIT AccessControlResponse, resourceControlRequest [30] IMPLICIT ResourceControlRequest, resourceControlResponse [31] IMPLICIT ResourceControlResponse, triggerResourceControlRequest [32] IMPLICIT TriggerResourceControlRequest, resourceReportRequest [33] IMPLICIT ResourceReportRequest, resourceReportResponse [34] IMPLICIT ResourceReportResponse, scanRequest [35] IMPLICIT ScanRequest, scanResponse [36] IMPLICIT ScanResponse, -- [37] through [42] reserved sortRequest [43] IMPLICIT SortRequest, sortResponse [44] IMPLICIT SortResponse, segmentRequest [45] IMPLICIT Segment, extendedServicesRequest [46] IMPLICIT ExtendedServicesRequest, extendedServicesResponse [47] IMPLICIT ExtendedServicesResponse, close [48] IMPLICIT Close}-- Initialize APDUs-- InitializeRequest ::= SEQUENCE{ referenceId ReferenceId OPTIONAL, protocolVersion ProtocolVersion, options Options, preferredMessageSize [5] IMPLICIT INTEGER, exceptionalRecordSize [6] IMPLICIT INTEGER, idAuthentication [7] IdAuthentication OPTIONAL, -- see note below implementationId [110] IMPLICIT InternationalString OPTIONAL, implementationName [111] IMPLICIT InternationalString OPTIONAL, implementationVersion [112] IMPLICIT InternationalString OPTIONAL, 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:IdAuthentication ::= CHOICE{ open VisibleString, idPass SEQUENCE { groupId [0] IMPLICIT InternationalString OPTIONAL, userId [1] IMPLICIT InternationalString OPTIONAL, password [2] IMPLICIT InternationalString OPTIONAL }, anonymous NULL, other EXTERNAL }-- May use access control formats for 'other'. See Appendix 7 ACC.-- InitializeResponse ::= SEQUENCE{ referenceId ReferenceId OPTIONAL, protocolVersion ProtocolVersion, options Options, preferredMessageSize [5] IMPLICIT INTEGER, exceptionalRecordSize [6] IMPLICIT INTEGER, result [12] IMPLICIT BOOLEAN, -- reject = FALSE; Accept = TRUE implementationId [110] IMPLICIT InternationalString OPTIONAL, implementationName [111] IMPLICIT InternationalString OPTIONAL, implementationVersion [112] IMPLICIT InternationalString OPTIONAL, userInformationField [11] EXTERNAL OPTIONAL, otherInfo OtherInformation OPTIONAL}-- Begin auxiliary definitions for Init PDUs ProtocolVersion ::= [3] IMPLICIT BIT STRING{ version-1 (0), -- This bit should always be set, but does not -- correspond to any Z39.50 version. version-2 (1), -- "Version 2 supported." -- This bit should always be set. version-3 (2) -- "Version 3 supported."-- Values higher than 'version-3' should be ignored. Both the Initialize request and Initialize Response APDUs-- include a value string corresponding to the supported versions. The highest common version is selected-- for use. If there are no versions in common, "Result" in the Init Response should indicate "reject."-- Note: Versions 1 and 2 are identical. Systems supporting version 2 should indicate support for version-- 1 as well, for interoperability with systems that indicate support for version 1 only (e.g. ISO 10163-1991-- implementations). } Options ::= [4] IMPLICIT BIT STRING{ search (0), present (1), delSet (2), resourceReport (3), triggerResourceCtrl (4), resourceCtrl (5), accessCtrl (6), scan (7), sort (8), -- (9) (reserved) extendedServices (10), level-1Segmentation (11), level-2Segmentation (12), concurrentOperations (13), namedResultSets (14)}-- end auxiliary definitions for Init PDUs--Search APDUs SearchRequest ::= SEQUENCE{ referenceId ReferenceId OPTIONAL, smallSetUpperBound [13] IMPLICIT INTEGER, largeSetLowerBound [14] IMPLICIT INTEGER, mediumSetPresentNumber [15] IMPLICIT INTEGER, replaceIndicator [16] IMPLICIT BOOLEAN, resultSetName [17] IMPLICIT InternationalString, databaseNames [18] IMPLICIT SEQUENCE OF DatabaseName, smallSetElementSetNames [100] ElementSetNames OPTIONAL, mediumSetElementSetNames [101] ElementSetNames OPTIONAL, preferredRecordSyntax [104] IMPLICIT OBJECT IDENTIFIER OPTIONAL, query [21] Query, -- Following two parameters may be used only if version 3 is in force. additionalSearchInfo [203] IMPLICIT OtherInformation OPTIONAL, otherInfo OtherInformation OPTIONAL}-- Query Definitions Query ::= CHOICE{ type-0 [0] ANY, type-1 [1] IMPLICIT RPNQuery, type-2 [2] OCTET STRING, type-100 [100] OCTET STRING, type-101 [101] IMPLICIT RPNQuery, type-102 [102] OCTET STRING}---- Definitions for RPN query RPNQuery ::= SEQUENCE{ attributeSet AttributeSetId, rpn RPNStructure}-- RPNStructure ::= CHOICE{ op [0] Operand, rpnRpnOp [1] IMPLICIT SEQUENCE{ rpn1 RPNStructure, rpn2 RPNStructure, op Operator }} Operand ::= CHOICE{ attrTerm AttributesPlusTerm, resultSet ResultSetId, -- If version 2 is in force: -- - If query type is 1, one of the above two must be chosen; -- - resultAttr (below) may be used only if query type is 101. resultAttr ResultSetPlusAttributes} AttributesPlusTerm ::= [102] IMPLICIT SEQUENCE{ attributes AttributeList, term Term} ResultSetPlusAttributes ::= [214] IMPLICIT SEQUENCE{ resultSet ResultSetId, attributes AttributeList} AttributeList ::= [44] IMPLICIT SEQUENCE OF AttributeElement-- Term ::= CHOICE{ general [45] IMPLICIT OCTET STRING, -- values below may be used only if version 3 is in force numeric [215] IMPLICIT INTEGER, characterString [216] IMPLICIT InternationalString, oid [217] IMPLICIT OBJECT IDENTIFIER, dateTime [218] IMPLICIT GeneralizedTime, external [219] IMPLICIT EXTERNAL, integerAndUnit [220] IMPLICIT IntUnit, nullterm [221] IMPLICIT NULL} Operator ::= [46] CHOICE{ and [0] IMPLICIT NULL, or [1] IMPLICIT NULL, and-not [2] IMPLICIT NULL, -- If version 2 is in force: -- - For query type 1, one of the above three must be chosen; -- - prox (below) may be used only if query type is 101. prox [3] IMPLICIT ProximityOperator} AttributeElement ::= SEQUENCE{ attributeSet [1] IMPLICIT AttributeSetId OPTIONAL, -- Must be omitted if version 2 is in force. -- If included, overrides value of attributeSet -- in RPNQuery above, but only for this attribute. attributeType [120] IMPLICIT INTEGER, attributeValue CHOICE{ numeric [121] IMPLICIT INTEGER, -- If version 2 is in force, -- Must select 'numeric' for attributeValue. complex [224] IMPLICIT SEQUENCE{ list [1] IMPLICIT SEQUENCE OF StringOrNumeric, semanticAction [2] IMPLICIT SEQUENCE OF INTEGER OPTIONAL}}} ProximityOperator ::= SEQUENCE{ exclusion [1] IMPLICIT BOOLEAN OPTIONAL, distance [2] IMPLICIT INTEGER, ordered [3] IMPLICIT BOOLEAN, relationType [4] IMPLICIT INTEGER{ lessThan (1), lessThanOrEqual (2), equal (3), greaterThanOrEqual (4), greaterThan (5), notEqual (6)}, proximityUnitCode [5] CHOICE{ known [1] IMPLICIT KnownProximityUnit, privatepu [2] IMPLICIT INTEGER}}-- KnownProximityUnit ::= INTEGER{ character (1), word (2), sentence (3), paragraph (4), section (5), chapter (6), document (7), element (8), subelement (9), elementType (10), byte (11) -- Version 3 only }-- End definitions for RPN QuerySearchResponse ::= SEQUENCE{ referenceId ReferenceId OPTIONAL, resultCount [23] IMPLICIT INTEGER, numberOfRecordsReturned [24] IMPLICIT INTEGER, nextResultSetPosition [25] IMPLICIT INTEGER, searchStatus [22] IMPLICIT BOOLEAN, resultSetStatus [26] IMPLICIT INTEGER{ subset (1), interim (2), none (3)} OPTIONAL, presentStatus PresentStatus OPTIONAL, records Records OPTIONAL, -- Following two parameters may be used only if version 3 is in force. additionalSearchInfo [203] IMPLICIT OtherInformation OPTIONAL, otherInfo OtherInformation OPTIONAL}--Retrieval APDUs PresentRequest ::= SEQUENCE{ referenceId ReferenceId OPTIONAL, resultSetId ResultSetId, resultSetStartPoint [30] IMPLICIT INTEGER, numberOfRecordsRequested [29] IMPLICIT INTEGER, additionalRanges [212] IMPLICIT SEQUENCE OF Range OPTIONAL, -- additionalRanges may be included only if version 3 is in force. recordComposition CHOICE{ simple [19] ElementSetNames, -- must choose 'simple' if version 2 is in force complex [209] IMPLICIT CompSpec} OPTIONAL, preferredRecordSyntax [104] IMPLICIT OBJECT IDENTIFIER OPTIONAL, maxSegmentCount [204] IMPLICIT INTEGER OPTIONAL, -- level 1 or 2 maxRecordSize [206] IMPLICIT INTEGER OPTIONAL, -- level 2 only maxSegmentSize [207] IMPLICIT INTEGER OPTIONAL, -- level 2 only otherInfo OtherInformation OPTIONAL}-- Segment ::= SEQUENCE{ -- Segment PDU may only be used when version 3 is in force, -- and only when segmentation is in effect. referenceId ReferenceId OPTIONAL, numberOfRecordsReturned [24] IMPLICIT INTEGER, segmentRecords [0] IMPLICIT SEQUENCE OF NamePlusRecord, otherInfo OtherInformation OPTIONAL}-- PresentResponse ::= SEQUENCE{ referenceId ReferenceId OPTIONAL, numberOfRecordsReturned [24] IMPLICIT INTEGER, nextResultSetPosition [25] IMPLICIT INTEGER, presentStatus PresentStatus, records Records OPTIONAL, otherInfo OtherInformation OPTIONAL}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -