⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 z3950v3.asn

📁 ASN.1工具源代码,包括编译源码生成工具和各种基本类型构造类型的编解码实现代码
💻 ASN
📖 第 1 页 / 共 5 页
字号:
            pdtdate            (2),            pdtexternal        (3),            pdtstring          (4),            pdttrueOrFalse       (5),            pdtoid         (6),            pdtintUnit        (7),            pdtempty        (8),            pdtnoneOfTheAbove  (100) -- see 'description'            }TagSetInfo ::= SEQUENCE {  commonInfo  [0]  IMPLICIT CommonInfo OPTIONAL,    -- Key elements follow:  tagSet      [1]  IMPLICIT OBJECT IDENTIFIER,    -- non-key brief elements follow:  name      [2]  IMPLICIT InternationalString,    -- non-brief elements follow:  description  [3]  IMPLICIT HumanString OPTIONAL,  elements    [4]  IMPLICIT SEQUENCE OF SEQUENCE {              elementname  [1]  IMPLICIT InternationalString,               nicknames    [2]  IMPLICIT SEQUENCE OF InternationalString OPTIONAL,              elementTag     [3]  StringOrNumeric,               description    [4]  IMPLICIT HumanString OPTIONAL,             dataType       [5]  PrimitiveDataType OPTIONAL,              -- If the data type is expected to be structured, that is described in the schema info,              -- and datatype is omitted here.             otherTagInfo       OtherInformation OPTIONAL} OPTIONAL}RecordSyntaxInfo ::= SEQUENCE {  commonInfo    [0]  IMPLICIT CommonInfo OPTIONAL,    -- Key elements follow:  recordSyntax    [1]  IMPLICIT OBJECT IDENTIFIER,    -- Non-key brief elements follow:  name        [2]  IMPLICIT InternationalString,    -- non-brief elements follow:  transferSyntaxes  [3]  IMPLICIT SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,  description    [4]  IMPLICIT HumanString OPTIONAL,  asn1Module    [5]  IMPLICIT InternationalString OPTIONAL,  abstractStructure  [6]  IMPLICIT SEQUENCE OF ElementInfo OPTIONAL               -- Omitting abstractStructure only means target isn't using                 -- Explain to describe the structure, not that there is no structure.              }AttributeSetInfo ::= SEQUENCE {  commonInfo  [0]  IMPLICIT CommonInfo OPTIONAL,    -- Key elements follow:  attributeSet  [1]  IMPLICIT AttributeSetId,    -- non-key brief elements follow:  name      [2]  IMPLICIT InternationalString,    -- non-brief elements follow:  attributes    [3]  IMPLICIT SEQUENCE OF AttributeType OPTIONAL,            -- mandatory in full record  description   [4] IMPLICIT HumanString OPTIONAL}-- AttributeType referenced in AttributeSetInfo  AttributeType ::= SEQUENCE {      name             [0] IMPLICIT InternationalString OPTIONAL,      description      [1] IMPLICIT HumanString OPTIONAL,       attributeType    [2] IMPLICIT INTEGER,      attributeValues  [3] IMPLICIT SEQUENCE OF AttributeDescription}    AttributeDescription ::= SEQUENCE {        name                 [0] IMPLICIT InternationalString OPTIONAL,        description          [1] IMPLICIT HumanString OPTIONAL,        attributeValue       [2] StringOrNumeric,        equivalentAttributes  [3]  IMPLICIT SEQUENCE OF StringOrNumeric OPTIONAL                  -- each is an occurrence of 'attributeValue' from AttributeDescription for a                  -- different attribute. Equivalences listed here should be derived from the                   -- attribute set definition, not from a particular server's behavior.                      }TermListInfo ::= SEQUENCE{  commonInfo    [0]  IMPLICIT CommonInfo OPTIONAL,    -- Key elements follow:  databaseName  [1]  IMPLICIT DatabaseName,    -- Non-key brief elements follow:  termLists      [2] IMPLICIT SEQUENCE OF SEQUENCE{            name    [1] IMPLICIT InternationalString,            title    [2] IMPLICIT HumanString OPTIONAL,                                            -- Title is for users to see and can differ by language. Name, on the                      -- other hand is typically a short string not necessarily meant to be                       -- human-readable, and not variable by language.            searchCost   [3]   IMPLICIT INTEGER {                  optimized  (0),    -- The attribute (or combination) associated                            -- with this   list will do fast searches.                       normal      (1),    -- The attribute (combination) will work as                            -- expected. So there's probably an index for the                            -- attribute (combination) or some similar                             -- mechanism.                      expensive   (2),    -- Can use the attribute (combination), but it                            -- might not provide satisfactory results.                            -- Probably there is no index, or post-                            -- processing of records is required.                      filter      (3)    -- can't search with this attribute (combination) alone.                         } OPTIONAL,              scanable  [4]  IMPLICIT BOOLEAN, -- 'true' means this list can be scanned.               broader    [5] IMPLICIT SEQUENCE OF InternationalString OPTIONAL,               narrower  [6] IMPLICIT SEQUENCE OF InternationalString OPTIONAL                       -- broader and narrower list alternative term lists related to this one.                       -- The term lists so listed should also be in this termLists structure.                          }  -- no non-brief elements            }ExtendedServicesInfo ::= SEQUENCE {  commonInfo          [0]  IMPLICIT CommonInfo OPTIONAL,    -- Key elements follow:  type          [1]  IMPLICIT OBJECT IDENTIFIER,    -- Non-key brief elements follow:  name                [2]  IMPLICIT InternationalString OPTIONAL,                -- should be supplied if privateType is 'true'  privateType      [3]  IMPLICIT BOOLEAN,  restrictionsApply    [5]  IMPLICIT BOOLEAN,  -- if 'true' see 'description'  feeApply              [6]  IMPLICIT BOOLEAN,  -- if 'true' see 'description'  available             [7]  IMPLICIT BOOLEAN,  retentionSupported    [8]  IMPLICIT BOOLEAN,  waitAction      [9]  IMPLICIT INTEGER{                waitSupported    (1),                waitAlways      (2),                waitNotSupported  (3),                depends      (4),                notSaying      (5)},  -- non-brief elements follow:    -- To get brief plus 'description' use esn 'description'  description           [10]  IMPLICIT HumanString OPTIONAL,      -- to get above elements and 'specificExplain' use esn 'specificExplain'  specificExplain    [11]  IMPLICIT EXTERNAL OPTIONAL,                  -- Use oid of specific ES, and select choice [3] 'explain'. Format                  -- to be developed in conjunction with the specific ES definition.    -- to get all elements except 'specificExplain', use esn 'asn'  esASN          [12]  IMPLICIT InternationalString OPTIONAL -- the ASN.1 for this ES                }-- - - - - - - - - - - - - Detail records -- The detail records describe relationships among entities supported by the target. RetrievalRecordDetails describes -- the way that schema elements are mapped into record elements. This mapping may be different for each -- combination of database, schema, record syntax. The per-element details describe the default mapping. -- Origin-request re-tagging can change that mapping. When multiple databases are listed in a databaseNames -- element, the record applies equally to all of the listed databases.  This is unrelated to searching the databases -- together. AttributeDetails describes how databases can be searched. Each supported attribute is listed, and the -- allowable combinations can be described.AttributeDetails ::= SEQUENCE {  commonInfo        [0]  IMPLICIT CommonInfo OPTIONAL,    -- Key elements follow:  databaseName        [1]  IMPLICIT DatabaseName,    -- Non-brief elements follow:  attributesBySet        [2]  IMPLICIT SEQUENCE OF AttributeSetDetails OPTIONAL,                   -- mandatory in full record  attributeCombinations    [3]  IMPLICIT AttributeCombinations OPTIONAL}-- AttributeSetDetails referenced by AttributeDetails  AttributeSetDetails ::= SEQUENCE {        attributeSet      [0] IMPLICIT AttributeSetId,          attributesByType  [1] IMPLICIT SEQUENCE OF AttributeTypeDetails }    AttributeTypeDetails ::= SEQUENCE {         attributeType     [0] IMPLICIT INTEGER,          defaultIfOmitted    [1] IMPLICIT OmittedAttributeInterpretation OPTIONAL,          attributeValues    [2] IMPLICIT SEQUENCE OF AttributeValue OPTIONAL }                          -- If no attributeValues are supplied, all values of this type are fully                    -- supported, and the descriptions in AttributeSetInfo are adequate.    OmittedAttributeInterpretation ::= SEQUENCE {        defaultValue           [0] StringOrNumeric OPTIONAL,                                -- A default value is listed if that's how the server works        defaultDescription  [1] IMPLICIT HumanString OPTIONAL }                          -- The human-readable description should generally be provided.                    -- It is legal for both default elements to be missing, which                    -- means that the target will allow the attribute type to be                    -- omitted, but isn't saying what it will do.    AttributeValue ::= SEQUENCE {        value              [0]  StringOrNumeric,        description        [1]  IMPLICIT HumanString OPTIONAL,        subAttributes     [2]  IMPLICIT SEQUENCE OF StringOrNumeric OPTIONAL,        superAttributes    [3]  IMPLICIT SEQUENCE OF StringOrNumeric OPTIONAL,        partialSupport    [4]  IMPLICIT NULL OPTIONAL }        -- partialSupport indicates that an attributeValue is accepted, but may not be processed in the        -- "expected" way. One important reason for this is composite databases: in this case partialSupport        -- may indicate that only some of the subDbs support the attribute, and others ignore it.TermListDetails ::= SEQUENCE{  -- one for each termList in TermListInfo  commonInfo    [0]  IMPLICIT CommonInfo OPTIONAL,    -- Key elements follow:  termListName    [1]  IMPLICIT InternationalString,    -- Non-key elements (all non-brief) follow:  description    [2]  IMPLICIT HumanString OPTIONAL,  attributes      [3]  IMPLICIT AttributeCombinations OPTIONAL,                          -- Pattern for attributes that hit this list. Mandatory in full record  scanInfo      [4]  IMPLICIT SEQUENCE {                maxStepSize         [0] IMPLICIT INTEGER OPTIONAL,                collatingSequence  [1] IMPLICIT HumanString OPTIONAL,                increasing            [2] IMPLICIT BOOLEAN OPTIONAL} OPTIONAL,            -- Occurs only if list is scanable. If list is scanable and if scanInfo is omitted,             -- target doesn't consider these important.  estNumberTerms  [5]  IMPLICIT INTEGER OPTIONAL,  sampleTerms    [6]  IMPLICIT SEQUENCE OF Term OPTIONAL}ElementSetDetails ::= SEQUENCE {  -- ElementSetDetails describes the way that database records are mapped to record elements. This  -- mapping may be different for each combination of database name and element set. The database record   -- description is a schema, which may be private to the target. The schema's abstract record structure  -- and tag sets provide the vocabulary for discussing record content; their presence in the Explain  -- database does not imply support for complex retrieval specification.  commonInfo      [0]  IMPLICIT CommonInfo OPTIONAL,    -- Key elements follow:  databaseName      [1]  IMPLICIT DatabaseName,  elementSetName    [2]  IMPLICIT ElementSetName,  recordSyntax      [3]  IMPLICIT OBJECT IDENTIFIER,    -- Non-key Brief elements follow:  schema        [4]  IMPLICIT OBJECT IDENTIFIER,    -- Non-brief elements follow:  description      [5]  IMPLICIT HumanString OPTIONAL,  detailsPerElement    [6]  IMPLICIT SEQUENCE OF PerElementDetails OPTIONAL -- mandatory in full record              }RetrievalRecordDetails ::= SEQUENCE {  commonInfo      [0]  IMPLICIT CommonInfo OPTIONAL,    -- Key elements follow:  databaseName      [1]  IMPLICIT DatabaseName,  schema        [2]  IMPLICIT OBJECT IDENTIFIER,  recordSyntax      [3]  IMPLICIT OBJECT IDENTIFIER,    -- Non-brief elements follow:  description      [4]  IMPLICIT HumanString OPTIONAL,  detailsPerElement    [5]  IMPLICIT SEQUENCE OF PerElementDetails OPTIONAL                -- mandatory in full record            }-- PerElementDetails is referenced in RetrievalRecordDetails and ElementSetDetails.  PerElementDetails ::= SEQUENCE {      name      [0]    IMPLICIT InternationalString OPTIONAL,                   -- If the name is omitted, the record syntax's name for this element                  -- is appropriate.      recordTag    [1]    IMPLICIT RecordTag OPTIONAL,                   -- The record tag may be omitted if tags are inappropriate for the record                  -- syntax, or if the origin can be expected to know it for some other reason.      schemaTags    [2]    IMPLICIT SEQUENCE OF Path OPTIONAL,                      -- The information from the listed schema elements is combined                  -- in some way to produce the data sent in the listed record tag. The                  -- 'contents' element below may describe the logic used.      maxSize    [3]    IMPLICIT INTEGER OPTIONAL,      minSize    [4]    IMPLICIT INTEGER OPTIONAL,      avgSize      [5]    IMPLICIT INTEGER OPTIONAL,      fixedSize    [6]    IMPLICIT INTEGER OPTIONAL,      repeatable    [8]    IMPLICIT BOOLEAN,      required    [9]    IMPLICIT BOOLEAN,                   -- 'required' really means that target will always supply the element.      description    [12]  IMPLICIT HumanString OPTIONAL,      contents    [13]  IMPLICIT HumanString OPTIONAL,      billingInfo    [14]  IMPLICIT HumanString OPTIONAL,      restrictions    [15]  IMPLICIT HumanString OPTIONAL,      alternateNames  [16]  IMPLICIT SEQUENCE OF InternationalString OPTIONAL,      genericNames  [17]  IMPLICIT SEQUENCE OF InternationalString OPTIONAL,      searchAccess  [18]  IMPLICIT AttributeCombinations OPTIONAL }      -- RecordTag referenced in PerElementDetails above        RecordTag ::= SEQUENCE {              qualifier  [0] StringOrNumeric OPTIONAL,                    -- E.g. tag set for GRS-1              tagValue  [1] StringOrNumeric}SortDetails ::= SEQUENCE {  commonInfo    [0]  IMPLICIT CommonInfo OPTIONAL,  -- Key elements follow:  databas

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -