/usr/share/yaz/z39.50/charneg-3.asn is in libyaz4-dev 4.2.30-4build2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 | NegotiationRecordDefinition-charSetandLanguageNegotiation-3
{Z39-50-negotiationRecordDefinition CharSetandLanguageNegotiation-3 (3)}
DEFINITIONS ::= BEGIN
IMPORTS LanguageCode FROM RecordSyntax-explain;
CharSetandLanguageNegotiation ::= CHOICE{
proposal [1] IMPLICIT OriginProposal,
response [2] IMPLICIT TargetResponse}
--
-- For character sets:
-- Origin proposes one, two, or all three of the following, in order of
-- preference:
-- (a) 2022 character sets.
-- (b) 10646 character set.
-- (c) Private character set.
--
-- The target responds with one of (a), (b), or (c), indicating the
-- character set(s) to be supported for all name and message strings.
--
-- If the origin includes (a),
-- the origin proposes:
-- (1) A proposed environment: 7-bit, 8-bit, or no-preference.
-- (2) A set of iso 2022 registration numbers.
-- (3) One or more proposed initial sets of registration numbers,
-- for c0, c1, g0, g1, g2 and g3. These must come from (2).
-- (4) The proposed encoding level.
-- And if the target selects (a), it responds with:
-- (1) A selected environment: 7-bit or 8-bit.
-- (2) A subset of the set of iso 2022 registration numbers proposed
-- by the origin.
-- (3) The initial set of registrations, which must come from (2)
-- but need not be from the set of initial registrations proposed
-- by the origin.
-- (4) The encoding level; less than or equal to that proposed.
--
-- If the origin includes (b),
-- The origin proposes:
-- (1) (optionally) A list of collections (i.e. subsets of characters from the
-- complete 10646 definition).
-- (2) An implementation level.
-- (3) Syntax/form: e.g. ucs-2, ucs-4, utf-8, utf-16.
-- And if the target selects (b), it responds by choosing a subset of the
-- collections proposed by the origin in (1) and an implementation level less
-- than or equal to that proposed by the origin in (2).
--
-- If the origin includes (c), the origin proposes one of the following:
-- (1) A list of private character sets, by one or more object
-- identifiers.
-- (2) A list of private character sets, by an EXTERNAL.
-- (3) An indication to use a private, previously agreed upon
-- character set.
-- And if the target selects (c):
-- - If the origin proposed (1), the target should respond with (1), and
-- the list of object identifiers should be a subset of the list that
-- the origin included.
-- - If the origin proposed (2), the target should respond with (2), using
-- the same EXTERNAL definition (but not necessarily the same content)
-- used by the origin.
-- - If the origin proposed (3), the target should respond with (3).
--
-- For Languages:
-- The origin optionally proposes one or more language codes. The target
-- response may include a single language code, which indicates the
-- language to be used for all message strings. The target may include or
-- omit this, whether or not the origin included a proposed set, and the
-- language code indicated need not be from among those proposed.
--
--
OriginProposal ::= SEQUENCE {
proposedCharSets [1] IMPLICIT SEQUENCE OF CHOICE{
-- Each should occur at most once, and in order of preference
-- (the "order of preference" is the reason why this is
-- "SEQUENCE OF CHOICE" rather than just "SEQUENCE")
iso2022 [1] Iso2022,
iso10646 [2] IMPLICIT Iso10646,
private [3] PrivateCharacterSet} OPTIONAL,
-- proposedCharSets must be omitted
-- if origin proposes version 2
proposedlanguages [2] IMPLICIT SEQUENCE OF LanguageCode OPTIONAL,
recordsInSelectedCharSets [3] IMPLICIT BOOLEAN OPTIONAL
-- default 'false'. See rule 6 above.
}
TargetResponse ::= SEQUENCE{
selectedCharSets [1] CHOICE{
iso2022 [1] Iso2022,
iso10646 [2] IMPLICIT Iso10646,
private [3] PrivateCharacterSet,
none [4] IMPLICIT NULL
-- If selected, no negotiation
-- is assumed to be in force
-- for character sets.
} OPTIONAL,
-- Omitted if and only if proposedCharSets
-- was Omitted in the request.
selectedLanguage [2] IMPLICIT LanguageCode OPTIONAL,
recordsInSelectedCharSets [3] IMPLICIT BOOLEAN OPTIONAL
-- Omitted if and only if 'recordsInSelectedCharSets' was omitted
-- in the request. See rule 6 above.
}
PrivateCharacterSet ::= CHOICE{
viaOid [1] IMPLICIT SEQUENCE OF OBJECT IDENTIFIER,
externallySpecified [2] IMPLICIT EXTERNAL,
previouslyAgreedUpon [3] IMPLICIT NULL}
-- IMPORTED
-- LanguageCode ::= GeneralString -- from ANSI Z39.53-1994
-- Definition of ISO2022
-- For ISO 2022, the following is negotiated:
-- 1) The environment: 7-bit or 8-bit;
-- 2) a set of registration numbers (from the ISO Register of coded
-- character sets) for graphical and control character sets;
-- 3) g0, g1, g2, g3, c0, c1, the registration numbers of the graphical and
-- control character sets that are initially designated to g0, g1, etc.
-- The origin submits one or more sequences of values for
-- g0, g1, g2, g3, c0, c1 (for each sequence: at least one of
-- g0 and g1 must be included; g2 and g3 are optional and
-- may be included only if g1 is included;
-- c0 should be included; and c1 is optional); the target
-- selects one of the proposed sequences.
-- 4) gleft: which of g0, g1, g2 or g3, initially has GL shift status in
-- an 8-bit environment or has shift status in a 7-bit environment; and
-- 5) gright: which of g1, g2 or g3 initially has GR shift status in an
-- 8-bit environment.
Iso2022 ::= CHOICE{
originProposal [1] IMPLICIT SEQUENCE{
proposedEnvironment [0] Environment OPTIONAL,
-- omitted means no preference
proposedSets [1] IMPLICIT SEQUENCE OF INTEGER,
proposedInitialSets [2] IMPLICIT SEQUENCE OF
InitialSet,
proposedLeftAndRight [3] IMPLICIT LeftAndRight},
targetResponse [2] IMPLICIT SEQUENCE{
selectedEnvironment [0] Environment,
selectedSets [1] IMPLICIT SEQUENCE OF INTEGER,
selectedinitialSet [2] IMPLICIT InitialSet,
selectedLeftAndRight [3] IMPLICIT LeftAndRight}}
Environment ::= CHOICE{
sevenBit [1] IMPLICIT NULL,
eightBit [2] IMPLICIT NULL}
InitialSet::= SEQUENCE{
g0 [0] IMPLICIT INTEGER OPTIONAL,
g1 [1] IMPLICIT INTEGER OPTIONAL,
-- one of g0 and g1 must be included
g2 [2] IMPLICIT INTEGER OPTIONAL,
g3 [3] IMPLICIT INTEGER OPTIONAL,
--g2 and/or g3 may be included
-- only if g1 was included
c0 [4] IMPLICIT INTEGER,
c1 [5] IMPLICIT INTEGER OPTIONAL}
LeftAndRight ::= SEQUENCE{
gLeft [3] IMPLICIT INTEGER{
g0 (0),
g1 (1),
g2 (2),
g3 (3)},
gRight [4] IMPLICIT INTEGER{
g1 (1),
g2 (2),
g3 (3)} OPTIONAL}
-- Definition of Iso10646
--
-- The 10646 object identifier looks like:
-- 1.0.10646.1.implementationLevel.repertoireSubset.arc1.arc2. ....
--
-- (The second '1' is for "part 1" of 10646.)
--
-- ImplementationLevel is 1-3
--
-- repertoireSubset is 0 or 1, for 'all' or 'collections'.
-- The arcs are present only if repertoireSubset is 'collections',
-- in which case arc1, arc2, etc., are the
-- identifiers of collections of character repertoires.
--
-- There is a second 10646 oid, for specifying syntax/form:
-- 1.0.10646.1.0.form
--
-- (The second '0' represents "transfer syntax".)
--
-- where values of form include:
-- 2: ucs-2
-- 4: ucs-4
-- 5: utf-16
-- 8: utf-8
Iso10646 ::= SEQUENCE{
collections [1] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
--oid of form 1.0.10646.1.implementationLevel
-- .repertoireSubset.arc1.arc2. ....
-- Target to choose a subset of the collections
-- proposed by the origin, and an implementation level
-- less than or equal to that proposed.
--
-- when 'collections' is omitted,
-- 'implementationLevel' defaults to 3.
--
encodingLevel [2] IMPLICIT OBJECT IDENTIFIER
-- oid of form 1.0.10646.1.0.form
-- where value of 'form' is 2, 4, 5, or 8
-- for ucs-2, ucs-4, utf-16, utf-8
}
END
|