ISO/IEC 8825-2:2002/Amd 2:2007
(Amendment)Information technology — ASN.1 encoding rules: Specification of Packed Encoding Rules (PER) — Part 2: — Amendment 2: Time type support
Information technology — ASN.1 encoding rules: Specification of Packed Encoding Rules (PER) — Part 2: — Amendment 2: Time type support
Technologies de l'information — Règles de codage ASN.1: Spécification des règles de codage compact (PER) — Partie 2: — Amendement 2: Prise en compte des types de temps
General Information
Relations
Buy Standard
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 8825-2
First edition
2002-12-15
AMENDMENT 2
2007-04-01
Information technology — ASN.1
encoding rules: Specification of Packed
Encoding Rules (PER) —
AMENDMENT 2: Time type support
Technologies de l'information — Règles de codage ASN.1:
Spécification des règles de codage compact (PER) —
AMENDEMENT 2: Support de type temps
Reference number
ISO/IEC 8825-2:2002/Amd.2:2007(E)
©
ISO/IEC 2007
---------------------- Page: 1 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
© ISO/IEC 2007
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2007 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information
technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
Amendment 2 to ISO/IEC 8825-2:2002 was prepared by Joint Technical Committee ISO/IEC JTC 1,
Information technology, Subcommittee SC 6, Telecommunications and information exchange between
systems, in collaboration with ITU-T. The identical text is published as ITU-T Rec. X.691:2002/Amd.2.
© ISO/IEC 2007 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)
INTERNATIONAL STANDARD
ITU-T RECOMMENDATION
Information technology – ASN.1 encoding rules:
Specification of Packed Encoding Rules (PER)
Amendment 2
Time type support
1) Contents
Update the Contents as follows:
28 bis Encoding the time type, the useful time types, the defined time types and the additional time types
28 bis.1 General
28 bis.2 Encoding subtypes with the "Basic=Date" property setting
28 bis.3 Encoding subtypes with the "Basic=Time" property setting
28 bis.4 Encoding subtypes with the "Basic=Date-Time" property setting
28 bis.5 Encoding subtypes with the "Basic=Interval Interval-type=SE" property setting
28 bis.6 Encoding subtypes with the "Basic=Interval Interval-type=D" property setting
28 bis.7 Encoding subtypes with the "Basic=Interval Interval-type=SD" or
"Basic=Interval Interval-type=DE" property setting
28 bis.8 Encoding subtypes with the "Basic=Rec-Interval Interval-type=SE" property setting
28 bis.9 Encoding subtypes with the "Basic=Rec-Interval Interval-type=D" property setting
28 bis.10 Encoding subtypes with the "Basic=Rec-Interval Interval-type=SD" or
"Basic=Rec-Interval Interval-type=DE" property setting
28 bis.11 Encoding subtypes with mixed settings of the Basic property
2) New clause 9.3.11 bis
Insert clause 9.3.11 bis after clause 9.3.11:
9.3.11 bis Property setting constraints on the time type (or on the useful and defined time types) which are not
extensible after the application of ITU-T Rec. X.680 | ISO/IEC 8824-1, 48.3 to 48.5, are PER-visible. Property setting
constraints which are extensible are not PER-visible.
ITU-T Rec. X.691 (2002)/Amd.2 (06/2006) 1
---------------------- Page: 4 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)
3) New clause 28 bis
Insert clause 28 bis before clause 29:
28 bis Encoding the time type, the useful time types, the defined time types and the additional time types
28 bis.1 General
28 bis.1.1 The encoding of the useful time types, the defined time types and the additional time types shall be
determined by the property settings of the abstract values of these types. Property settings for the abstract values of the
useful and defined time types are specified in ITU-T Rec. X.680 | ISO/IEC 8824-1, 34 bis.4 and Annex A bis,
respectively. Property settings for the abstract values of additional time types are determined by the property settings of
the parent type, restricted by any PER-visible constraints that apply (see 9.3.11 bis).
28 bis.1.2 If all the abstract values of the type to be encoded have one of the property settings listed in a row of
column 2 of Table 2, then that type shall be encoded as if the type with its constraints (if any) had been replaced by the
type specified in the corresponding row of column 3 of Table 2. Otherwise, it shall be encoded as specified in 28 bis.11.
NOTE – If a time property (for example Midnight) is not listed in Table 2 for a particular row, there is no constraint on its
setting.
28 bis.1.3 For rows 24 to 32 to be applicable, all abstract values of the type are required to have the same value of n
in Fn.
28 bis.1.4 The types specified in column 3 of Table 2 are defined (using the ASN.1 notation) in 28 bis.2 to
28 bis.10, and are assumed to be defined in an environment of AUTOMATIC TAGS.
NOTE 1 – The use of these type reference names in the specification of PER encodings does not make them available for use by
an application designer in an ASN.1 specification, nor are they reserved words in such a specification. However, with the
removal of -ENCODING, they correspond to the names of the useful time types or defined time types specified in
ITU-T Rec. X.680 | ISO/IEC 8824-1, 34 bis.4 and Annex A bis.
NOTE 2 – All the useful and defined time types satisfy the conditions for one of the rows of Table 2, and hence have optimized
encodings. Additional time types may satisfy the conditions for one of the rows, but are otherwise encoded as specified in
28 bis.11. The unconstrained TIME type is always encoded as specified in 28 bis.11.
Table 2 – Encoding of a time subtype with all abstract values having specified property settings
Row
Property settings ASN.1 type to be encoded
number
"Basic=Date Date=C Year=Basic" CENTURY-ENCODING
1
or (see 28 bis.2.1)
"Basic=Date Date=C Year=Proleptic"
"Basic=Date Date=C Year=Negative" ANY-CENTURY-ENCODING
2
or (see 28 bis.2.2)
"Basic=Date Date=C Year=Ln" (for any n)
"Basic=Date Date=Y Year=Basic" YEAR-ENCODING
3
or (see 28 bis.2.3)
"Basic=Date Date=Y Year=Proleptic"
"Basic=Date Date=Y Year=Negative" ANY-YEAR-ENCODING
4
or (see 28 bis.2.4)
"Basic=Date Date=Y Year=Ln" (for any n)
"Basic=Date Date=YM Year=Basic" YEAR-MONTH-ENCODING
5
or (see 28 bis.2.5)
"Basic=Date Date=YM Year=Proleptic"
"Basic=Date Date=YM Year=Negative" ANY-YEAR-MONTH-ENCODING
6
or (see 28 bis.2.6)
"Basic=Date Date=YM Year=Ln" (for any n)
"Basic=Date Date=YMD Year=Basic" DATE-ENCODING
7
or (see 28 bis.2.7)
"Basic=Date Date=YMD Year=Proleptic"
"Basic=Date Date=YMD Year=Negative" ANY-DATE-ENCODING
8
or (see 28 bis.2.8)
"Basic=Date Date=YMD Year=Ln" (for any n)
2 ITU-T Rec. X.691 (2002)/Amd.2 (06/2006)
---------------------- Page: 5 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)
Table 2 – Encoding of a time subtype with all abstract values having specified property settings
Row
Property settings ASN.1 type to be encoded
number
"Basic=Date Date=YD Year=Basic" YEAR-DAY-ENCODING
9
or (see 28 bis.2.9)
"Basic=Date Date=YD Year=Proleptic"
"Basic=Date Date=YD Year=Negative" ANY-YEAR-DAY-ENCODING
10
or (see 28 bis.2.10)
"Basic=Date Date=YD Year=Ln" (for any n)
"Basic=Date Date=YW Year=Basic" YEAR-WEEK-ENCODING
11
or (see 28 bis.2.11)
"Basic=Date Date=YW Year=Proleptic"
"Basic=Date Date=YW Year=Negative" ANY-YEAR-WEEK-ENCODING
12
or (see 28 bis.2.12)
"Basic=Date Date=YW Year=Ln" (for any n)
"Basic=Date Date=YWD Year=Basic" YEAR-WEEK-DAY-ENCODING
13
or (see 28 bis.2.13)
"Basic=Date Date=YWD Year=Proleptic"
"Basic=Date Date=YWD Year=Negative" ANY-YEAR-WEEK-DAY-ENCODING
14
or (see 28 bis.2.14)
"Basic=Date Date=YWD Year=Ln" (for any n)
"Basic=Time Time=H Local-or-UTC=L" HOURS-ENCODING
15
(see 28 bis.3.1)
"Basic=Time Time=H Local-or-UTC=Z" HOURS-UTC-ENCODING
16
(see 28 bis.3.2)
"Basic=Time Time=H Local-or-UTC=LD" HOURS-AND-DIFF-ENCODING
17
(see 28 bis.3.3)
"Basic=Time Time=HM Local-or-UTC=L" MINUTES-ENCODING
18
(see 28 bis.3.4)
"Basic=Time Time=HM Local-or-UTC=Z" MINUTES-UTC-ENCODING
19
(see 28 bis.3.5)
"Basic=Time Time=HM Local-or-UTC=LD" MINUTES-AND-DIFF-ENCODING
20
(see 28 bis.3.6)
"Basic=Time Time=HMS Local-or-UTC=L" TIME-OF-DAY-ENCODING
21
(see 28 bis.3.7)
"Basic=Time Time=HMS Local-or-UTC=Z" TIME-OF-DAY-UTC-ENCODING
22
(see 28 bis.3.8)
"Basic=Time Time=HMS Local-or-UTC=LD" TIME-OF-DAY-AND-DIFF-ENCODING
23
(see 28 bis.3.9)
"Basic=Time Time=HFn Local-or-UTC=L"
HOURS-AND-FRACTION-ENCODING
24 (but see 28 bis.1.3)
(see 28 bis.3.10)
"Basic=Time Time=HFn Local-or-UTC=Z" HOURS-UTC-AND-FRACTION-ENCODING
25 (but see 28 bis.1.3) (see 28 bis.3.11)
"Basic=Time Time=HFn Local-or-UTC=LD" HOURS-AND-DIFF-AND-FRACTION-ENCODING
26
(but see 28 bis.1.3) (see 28 bis.3.12)
"Basic=Time Time=HMFn Local-or-UTC=L" MINUTES-AND-FRACTION-ENCODING
27
(but see 28 bis.1.3) (see 28 bis.3.13)
"Basic=Time Time=HMFn Local-or-UTC=Z" MINUTES-UTC-AND-FRACTION-ENCODING
28
(but see 28 bis.1.3) (see 28 bis.3.14)
"Basic=Time Time=HMFn Local-or-UTC=LD" MINUTES-AND-DIFF-AND-FRACTION-ENCODING
29
(but see 28 bis.1.3) (see 28 bis.3.15)
"Basic=Time Time=HMSFn Local-or-UTC=L" TIME-OF-DAY-AND-FRACTION-ENCODING
30
(but see 28 bis.1.3) (see 28 bis.3.16)
ITU-T Rec. X.691 (2002)/Amd.2 (06/2006) 3
---------------------- Page: 6 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)
Table 2 – Encoding of a time subtype with all abstract values having specified property settings
Row
Property settings ASN.1 type to be encoded
number
"Basic=Time Time=HMSFn Local-or-UTC=Z" TIME-OF-DAY-UTC-AND-FRACTION-ENCODING
31
(but see 28 bis.1.3) (see 28 bis.3.17)
"Basic=Time Time=HMSFn Local-or-UTC=LD"
TIME-OF-DAY-AND-DIFF-AND-FRACTION-
32 (but see 28 bis.1.3) ENCODING
(see 28 bis.3.18)
"Basic=Date-Time" DATE-TIME-ENCODING
33 All abstract values are required to have the same {Date-Type, Time-Type}
additional property settings specified in one of rows 1 to
(instantiated as specified in 28 bis.4.1)
14 for "Basic=Date" together with the same
additional property settings specified in one of the rows
15 to 32 for "Basic=Time".
"Basic=Interval Interval-type=SE START-END-DATE-INTERVAL-ENCODING
34 {Date-Type}
SE-point=Date"
All abstract values are required to have the same (see 28 bis.5.1)
additional property settings specified in one of rows 1 to
14 for "Basic=Date".
"Basic=Interval Interval-type=SE START-END-TIME-INTERVAL-ENCODING
35 SE-point=Time" {Time-Type}
All abstract values are required to have the same (see 28 bis.5.2)
additional property settings specified in one of rows 15 to
32 for "Basic=Time".
"Basic=Interval Interval-type=SE START-END-DATE-TIME-INTERVAL-ENCODING
SE-point=Date-Time" {Date-Type, Time-Type}
36
(see 28 bis.5.3)
All abstract values are required to have the same
additional property settings specified in one of rows 1 to
14 for "Basic=Date" together with the same
additional property settings specified in one of rows 15 to
32 for "Basic=Time".
"Basic=Interval Interval-type=D" DURATION-INTERVAL-ENCODING
37
(see 28 bis.6.1)
START-DATE-DURATION-INTERVAL-ENCODING
"Basic=Interval Interval-type=SD
{Date-Type}
38
SE-point=Date"
(see 28 bis.7.1)
All abstract values are required to have the same
additional property settings specified in one of rows 1 to
14 for "Basic=Date".
"Basic=Interval Interval-type=SD START-TIME-DURATION-INTERVAL-ENCODING
39 {Time-Type}
SE-point=Time"
(see 28 bis.7.2)
All abstract values are required to have the same
additional property settings specified in one of rows 15 to
32 for "Basic=Time".
"Basic=Interval Interval-type=SD START-DATE-TIME-DURATION-
40 INTERVAL-ENCODING
SE-point=Date-Time"
{Date-Type, Time-Type}
All abstract values are required to have the same
(see 28 bis.7.3)
additional property settings specified in one of rows 1 to
14 for "Basic=Date" together with the same
additional property settings specified in one of rows 15 to
32 for "Basic=Time".
"Basic=Interval Interval-type=DE DURATION-END-DATE-INTERVAL-ENCODING
41 {Date-Type}
SE-point=Date"
All abstract values are required to have the same (see 28 bis.7.4)
additional properties specified in one of rows 1 to 14 for
"Basic=Date".
4 ITU-T Rec. X.691 (2002)/Amd.2 (06/2006)
---------------------- Page: 7 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)
Table 2 – Encoding of a time subtype with all abstract values having specified property settings
Row
Property settings ASN.1 type to be encoded
number
"Basic=Interval Interval-type=DE
DURATION-END-TIME-INTERVAL-ENCODING
SE-point=Time"
42 {Time-Type}
All abstract values are required to have the same
(see 28 bis.7.5)
additional properties specified in one of rows 15 to 32 for
"Basic=Time".
"Basic=Interval Interval-type=DE DURATION-END-DATE-TIME-INTERVAL-
43 ENCODING
SE-point=Date-Time"
{Date-Type, Time-Type}
All abstract values are required to have the same
(see 28 bis.7.6)
additional properties specified in one of rows 1 to 14 for
"Basic=Date" together with the same additional
property settings specified in one of rows 15 to 32 for
"Basic=Time".
"Basic=Rec-Interval Interval-type=SE REC-START-END-DATE-INTERVAL-ENCODING
44 SE-point=Date" {Date-Type}
(see 28 bis.8.1)
All abstract values are required to have the same
additional property settings specified in one of rows 1 to
14 for "Basic=Date".
"Basic=Rec-Interval Interval-type=SE REC-START-END-TIME-INTERVAL-ENCODING
45 SE-point=Time" {Time-Type}
All abstract values are required to have the same (see 28 bis.8.2)
additional property settings specified in one of rows 15 to
32 for "Basic=Time".
"Basic=Rec-Interval Interval-type=SE REC-START-END-DATE-TIME-INTERVAL-
46 SE-point=Date-Time" ENCODING
{Date-Type, Time-Type}
All abstract values are required to have the same
additional property settings specified in one of rows 1 to (see 28 bis.8.3)
14 for "Basic=Date" together with the same
additional property settings specified in one of rows 15 to
32 for "Basic=Time".
"Basic=Rec-Interval Interval-type=D" REC-DURATION-INTERVAL-ENCODING
47
(see 28 bis.9.1)
"Basic=Rec-Interval Interval-type=SD REC-START-DATE-DURATION-INTERVAL-
48 SE-point=Date" ENCODING
{Date-Type}
All abstract values are required to have the same
(see 28 bis.10.1)
additional property settings specified in one of rows 1 to
14 for "Basic=Date".
"Basic=Rec-Interval Interval-type=SD REC-START-TIME-DURATION-INTERVAL-
49 SE-point=Time" ENCODING
{Time-Type}
All abstract values are required to have the same
(see 28 bis.10.2)
additional property settings specified in one of rows 15 to
32 for "Basic=Time".
"Basic=Rec-Interval Interval-type=SD REC-START-DATE-TIME-DURATION-INTERVAL-
50 SE-point=Date-Time" ENCODING
{Date-Type, Time-Type}
All abstract values are required to have the same
(see 28 bis.10.3)
additional property settings specified in one of rows 1 to
14 for "Basic=Date" together with the same
additional property settings specified in one of rows 15 to
32 for "Basic=Time".
"Basic=Rec-Interval Interval-type=DE REC-DURATION-END-DATE-INTERVAL-ENCODING
51 SE-point=Date" {Date-Type}
All abstract values are required to have the same (see 28 bis.10.4)
additional properties specified in one of rows 1 to 14 for
"Basic=Date".
ITU-T Rec. X.691 (2002)/Amd.2 (06/2006) 5
---------------------- Page: 8 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)
Table 2 – Encoding of a time subtype with all abstract values having specified property settings
Row
Property settings ASN.1 type to be encoded
number
"Basic=Rec-Interval Interval-type=DE REC-DURATION-END-TIME-INTERVAL-ENCODING
52 SE-point=Time" {Time-Type}
(see 28 bis.10.5)
All abstract values are required to have the same
additional properties specified in one of rows 15 to 32 for
"Basic=Time".
"Basic=Rec-Interval Interval-type=DE REC-DURATION-END-DATE-TIME-INTERVAL-
53 SE-point=Date-Time" ENCODING
{Date-Type, Time-Type}
All abstract values are required to have the same
(see 28 bis.10.6)
additional properties specified in one of rows 1 to 14 for
"Basic=Date" together with the same additional
property settings specified in one of rows 15 to 32 for
"Basic=Time".
28 bis.2 Encoding subtypes with the "Basic=Date" property setting
This subclause defines the ASN.1 types referenced in Table 2, column 3 for types where all the abstract values of the
type have the "Basic=Date" property setting.
28 bis.2.1 The CENTURY-ENCODING type is:
CENTURY-ENCODING ::= INTEGER(0.99) -- 7 bits
with the integer value set to the value specified by the first two digits of the year component of the abstract value.
28 bis.2.2 The ANY-CENTURY-ENCODING type is:
ANY-CENTURY-ENCODING ::= INTEGER(MIN.MAX)
with the integer value set to the value specified by the year component of the abstract value, ignoring the last two digits.
28 bis.2.3 The YEAR-ENCODING type is:
YEAR-ENCODING ::= CHOICE { -- 2 bits for choice determinant
immediate INTEGER (2005.2020), -- 4 bits
near-future INTEGER (2021.2276), -- 8 bits
near-past INTEGER (1749.2004), -- 8 bits
remainder INTEGER (MIN.1748 | 2277.MAX)}
with the integer value set to the year component of the abstract value.
NOTE – This has been optimized to provide a 6-bit or a 10-bit encoding in common cases.
28 bis.2.4 The ANY-YEAR-ENCODING type is:
ANY-YEAR-ENCODING ::= INTEGER(MIN.MAX)
with the integer value set to the year component of the abstract value.
28 bis.2.5 The YEAR-MONTH-ENCODING type is:
YEAR-MONTH-ENCODING ::= SEQUENCE {
year YEAR-ENCODING,
month INTEGER (1.12) -- 4 bits -- }
with the YEAR-ENCODING set according to 28 bis.2.3 and the month integer value set to the month component of the
abstract value.
NOTE – This has been optimized to provide a 10-bit or a 14-bit encoding in common cases.
28 bis.2.6 The ANY-YEAR-MONTH-ENCODING type is:
ANY-YEAR-MONTH-ENCODING ::= SEQUENCE {
year ANY-YEAR-ENCODING,
month INTEGER (1.12) }
with the ANY-YEAR-ENCODING set according to 28 bis.2.4 and the month integer value set to the month component of
the abstract value.
6 ITU-T Rec. X.691 (2002)/Amd.2 (06/2006)
---------------------- Page: 9 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)
28 bis.2.7 The DATE-ENCODING type is:
DATE-ENCODING ::= SEQUENCE {
year YEAR-ENCODING,
month INTEGER (1.12), -- 4 bits
day INTEGER (1.31) -- 5 bits -- }
with the YEAR-ENCODING set according to 28 bis.2.3, the month integer value set to the month component of the
abstract value and the day integer value set to the day component of the abstract value.
NOTE – This has been optimized to provide a 15-bit or a 19-bit encoding in common cases.
28 bis.2.8 The ANY-DATE-ENCODING type is:
ANY-DATE-ENCODING ::= SEQUENCE {
year ANY-YEAR-ENCODING,
month INTEGER (1.12),
day INTEGER (1.31)}
with the ANY-YEAR-ENCODING set according to 28 bis.2.4, the month integer value set to the month component of the
abstract value and the day integer value set to the day component of the abstract value.
28 bis.2.9 The YEAR-DAY-ENCODING type is:
YEAR-DAY-ENCODING ::= SEQUENCE {
year YEAR-ENCODING,
day INTEGER (1.366)}
with the YEAR-ENCODING set according to 28 bis.2.3 and the day integer value set to the day component of the abstract
value.
28 bis.2.10 The ANY-YEAR-DAY-ENCODING type is:
ANY-YEAR-DAY-ENCODING ::= SEQUENCE {
year ANY-YEAR-ENCODING,
day INTEGER (1.366)}
with the ANY-YEAR-ENCODING set according to 28 bis.2.4 and the day integer value set to the day component of the
abstract value.
28 bis.2.11 The YEAR-WEEK-ENCODING type is:
YEAR-WEEK-ENCODING ::= SEQUENCE {
year YEAR-ENCODING,
week INTEGER (1.53) -- 6 bits --}
with the YEAR-ENCODING set according to 28 bis.2.3 and the week integer value set to the week component of the
abstract value.
NOTE – This has been optimized to provide a 12-bit or a 16-bit encoding in common cases.
28 bis.2.12 The ANY-YEAR-WEEK-ENCODING type is:
ANY-YEAR-WEEK-ENCODING ::= SEQUENCE {
year ANY-YEAR-ENCODING,
week INTEGER (1.53)}
with the ANY-YEAR-ENCODING set according to 28 bis.2.4 and the week integer value set to the week component of the
abstract value.
28 bis.2.13 The YEAR-WEEK-DAY-ENCODING type is:
YEAR-WEEK-DAY-ENCODING ::= SEQUENCE {
year YEAR-ENCODING,
week INTEGER (1.53), -- 6 bits
day INTEGER (1.7) -- 3 bits -- }
with the YEAR-ENCODING set according to 28 bis.2.3, the week integer value set to the week component of the abstract
value and the day integer value set to the day component of the abstract value.
NOTE – This has been optimized to provide a 15-bit or a 19-bit encoding in common cases.
ITU-T Rec. X.691 (2002)/Amd.2 (06/2006) 7
---------------------- Page: 10 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)
28 bis.2.14 The ANY-YEAR-WEEK-DAY-ENCODING type is:
ANY-YEAR-WEEK-DAY-ENCODING ::= SEQUENCE {
year ANY-YEAR-ENCODING,
week INTEGER (1.53),
day INTEGER (1.7)}
with the ANY-YEAR-ENCODING set according to 28 bis.2.4, the week integer value set to the week component of the
abstract value and the day integer value set to the day component of the abstract value.
28 bis.3 Encoding subtypes with the "Basic=Time" property setting
This subclause defines the ASN.1 types referenced in Table 2, column 3 for types where all the abstract values of the
type have the Basic=Time property setting.
28 bis.3.1 The HOURS-ENCODING type is:
HOURS-ENCODING ::= INTEGER(0.24) -- 5 bits
with the integer value set to the hours component of the abstract value.
NOTE – This has been optimized to provide a 5-bit encoding.
28 bis.3.2 The HOURS-UTC-ENCODING type is:
HOURS-UTC-ENCODING ::= INTEGER(0.24) -- 5 bits
with the integer value set to the hours component of the abstract value.
NOTE – This has been optimized to provide a 5-bit encoding.
28 bis.3.3 The HOURS-AND-DIFF-ENCODING type is:
HOURS-AND-DIFF-ENCODING ::= SEQUENCE {
local-hours INTEGER (0.24),
time-difference TIME-DIFFERENCE }
where:
TIME-DIFFERENCE ::= SEQUENCE {
hours INTEGER (-15.16),
minutes INTEGER (1.59) OPTIONAL }
with the local-hours integer value set to the hours component of the local time of the abstract value and the
time-difference set to the hours and the minutes of the time-difference component of the abstract value. If the
minutes component of the time-difference is zero, the TIME-DIFFERENCE minutes shall be omitted.
28 bis.3.4 The MINUTES-ENCODING type is:
MINUTES-ENCODING ::= SEQUENCE {
hours INTEGER (0.24), -- 5 bits
minutes INTEGER (0.59) -- 5 bits -- }
with the hours integer value set to the hours component of the abstract value and the minutes integer value set to the
minutes component.
NOTE – This has been optimized to provide a 10-bit encoding.
28 bis.3.5 The MINUTES-UTC-ENCODING type is:
MINUTES-UTC-ENCODING ::= SEQUENCE {
hours INTEGER (0.24), -- 5 bits
minutes INTEGER (0.59) -- 5 bits -- }
with the hours integer value set to the hours component of the abstract value and the minutes integer value set to the
minutes component.
NOTE – This has been optimized to provide a 10-bit encoding.
8 ITU-T Rec. X.691 (2002)/Amd.2 (06/2006)
---------------------- Page: 11 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)
28 bis.3.6 The MINUTES-AND-DIFF-ENCODING type is:
MINUTES-AND-DIFF-ENCODING ::= SEQUENCE {
local-time SEQUENCE {
hours INTEGER (0.24),
minutes INTEGER (0.59) },
time-difference TIME-DIFFERENCE }
with the local-time set to the hours and minutes component of the local time of the abstract value and the time-
difference set to the hours and minutes of the time-difference component of the abstract value as specified in
28 bis.3.3.
28 bis.3.7 The TIME-OF-DAY-ENCODING type is:
TIME-OF-DAY-ENCODING ::= SEQUENCE {
hours INTEGER (0.24), -- 5 bits
minutes INTEGER (0.59), -- 5 bits
seconds INTEGER (0.60) -- 5 bits -- }
with the hours integer value set to the hours component of the abstract value, the minutes integer value set to the
minutes component, and the seconds integer value set to the seconds component.
NOTE – This has been optimized to provide a 15-bit encoding.
28 bis.3.8 The TIME-OF-DAY-UTC-ENCODING type is:
TIME-OF-DAY-UTC-ENCODING ::= SEQUENCE {
hours INTEGER (0.24), -- 5 bits
minutes INTEGER (0.59), -- 5 bits
seconds INTEGER (0.60) -- 5 bits -- }
with the hours integer value set to the hours component of the abstract value, the minutes integer value set to the
minutes component, and the seconds integer value set to the seconds component.
NOTE – This has been optimized to provide a 15-bit encoding.
28 bis.3.9 The TIME-OF-DAY-AND-DIFF-ENCODING type is:
TIME-OF-DAY-AND-DIFF-ENCODING ::= SEQUENCE {
local-time SEQUENCE {
hours INTEGER (0.24),
minutes INTEGER (0.59),
seconds INTEGER (0.60) },
time-difference TIME-DIFFERENCE }
with the local-time set to the hours, minutes and seconds components of the local time of the abstract value and the
time-difference set to the hours and minutes of the time-difference component of the abstract value as specified in
28 bis.3.3.
28 bis.3.10 The HOURS-AND-FRACTION-ENCODING type is:
HOURS-AND-FRACTION-ENCODING ::= SEQUENCE {
hours INTEGER (0.24), -- 5 bits
fraction INTEGER (0.999, ., 1000.MAX)
-- 11 bits for up to three digits accuracy -- }
with the hours integer value set to the hours component of the abstract value and the fraction integer value set to the
fractional hours multiplied by ten-to-the-power-N, where N is the specified number of digits in the fractional part.
NOTE – This has been optimized to provide a 16-bit encoding for up to 3-digit accuracy.
28 bis.3.11 The HOURS-UTC-AND-FRACTION-ENCODING type is:
HOURS-UTC-AND-FRACTION-ENCODING ::= SEQUENCE {
hours INTEGER (0.24), -- 5 bits
fraction INTEGER (0.999, ., 1000.MAX)
-- 11 bits for up to three digits accuracy -- }
with the hours integer value set to the hours component of the abstract value and the fraction integer value set to the
fractional hours multiplied by ten-to-the-power-N, where N is the specified number of digits in the fractional part.
NOTE – This has been optimized to provide a 16-bit encoding for up to 3-digit accuracy.
ITU-T Rec. X.691 (2002)/Amd.2 (06/2006) 9
---------------------- Page: 12 ----------------------
ISO/IEC 8825-2:2002/Amd.2:2007 (E)
28 bis.3.12 The HOURS-AND-DIFF-AND-FRACTION-ENCODING type is:
HOURS-AND-DIFF-AND-FRACTION-ENCODING ::= SEQUENCE {
local-hours INTEGER (0.24), -- 5 bits
fraction INTEGER (0.999, ., 1000.MAX)
-- 11 bits for up to three digits accuracy -- ,
time-difference TIME-DIFFERENCE }
with the local-hours integer value set to the hours component of the local time of the abstract value, the fraction
integer value set to the fractional hours multiplied by ten-to-the-power-N (where N is the specified number of digits in
the fractional part) and the time-difference set to the hours and the minutes of the time-difference component of the
abstract value as specified in 28 bis.3.3.
28 bis.3.13 The MINUTES-AND-FRACTION-ENCODING type is:
MINUTES-AND-FRACTION-ENCODING ::= SEQUENCE {
hours INTEGER (0.24), -- 5 bits
minutes INTEGER (0.59), -- 5 bits
fraction INTEGER (0.999, ., 1000.MAX)
-- 11 bits for up to three digits accuracy -- }
with the hours integer value
...
NORME ISO/CEI
INTERNATIONALE 8825-2
Première édition
2002-12-15
AMENDEMENT 2
2007-04-01
Technologies de l'information — Règles
de codage ASN.1: Spécification des
règles de codage compact (PER) —
AMENDEMENT 2: Prise en compte des
types de temps
Information technology — ASN.1 encoding rules: Specification of
Packed Encoding Rules (PER) —
AMENDMENT 2: Time type support
Numéro de référence
ISO/CEI 8825-2:2002/Amd.2:2007(F)
©
ISO/CEI 2007
---------------------- Page: 1 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007(F)
PDF – Exonération de responsabilité
Le présent fichier PDF peut contenir des polices de caractères intégrées. Conformément aux conditions de licence d'Adobe, ce fichier
peut être imprimé ou visualisé, mais ne doit pas être modifié à moins que l'ordinateur employé à cet effet ne bénéficie d'une licence
autorisant l'utilisation de ces polices et que celles-ci y soient installées. Lors du téléchargement de ce fichier, les parties concernées
acceptent de fait la responsabilité de ne pas enfreindre les conditions de licence d'Adobe. Le Secrétariat central de l'ISO décline toute
responsabilité en la matière.
Adobe est une marque déposée d'Adobe Systems Incorporated.
Les détails relatifs aux produits logiciels utilisés pour la création du présent fichier PDF sont disponibles dans la rubrique General Info
du fichier; les paramètres de création PDF ont été optimisés pour l'impression. Toutes les mesures ont été prises pour garantir
l'exploitation de ce fichier par les comités membres de l'ISO. Dans le cas peu probable où surviendrait un problème d'utilisation,
veuillez en informer le Secrétariat central à l'adresse donnée ci-dessous.
DOCUMENT PROTÉGÉ PAR COPYRIGHT
© ISO/CEI 2007
Droits de reproduction réservés. Sauf prescription différente, aucune partie de cette publication ne peut être reproduite ni utilisée sous
quelque forme que ce soit et par aucun procédé, électronique ou mécanique, y compris la photocopie et les microfilms, sans l'accord écrit
de l'ISO à l'adresse ci-après ou du comité membre de l'ISO dans le pays du demandeur.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax. + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Publié en Suisse
ii © ISO/CEI 2007 – Tous droits réservés
---------------------- Page: 2 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007(F)
Avant-propos
L'ISO (Organisation internationale de normalisation) et la CEI (Commission électrotechnique internationale)
forment le système spécialisé de la normalisation mondiale. Les organismes nationaux membres de l'ISO ou
de la CEI participent au développement de Normes internationales par l'intermédiaire des comités techniques
créés par l'organisation concernée afin de s'occuper des domaines particuliers de l'activité technique. Les
comités techniques de l'ISO et de la CEI collaborent dans des domaines d'intérêt commun. D'autres
organisations internationales, gouvernementales et non gouvernementales, en liaison avec l'ISO et la CEI
participent également aux travaux. Dans le domaine des technologies de l'information, l'ISO et la CEI ont créé
un comité technique mixte, l'ISO/CEI JTC 1.
Les Normes internationales sont rédigées conformément aux règles données dans les Directives ISO/CEI,
Partie 2.
La tâche principale du comité technique mixte est d'élaborer les Normes internationales. Les projets de
Normes internationales adoptés par le comité technique mixte sont soumis aux organismes nationaux pour
vote. Leur publication comme Normes internationales requiert l'approbation de 75 % au moins des
organismes nationaux votants.
L'attention est appelée sur le fait que certains des éléments du présent document peuvent faire l'objet de
droits de propriété intellectuelle ou de droits analogues. L'ISO et la CEI ne sauraient être tenues pour
responsables de ne pas avoir identifié de tels droits de propriété et averti de leur existence.
L’Amendement 2 à l'ISO/CEI 8825-2:2002 a été élaboré par le comité technique mixte ISO/CEI JTC 1,
Technologies de l'information, sous-comité SC 6, Téléinformatique, en collaboration avec l'UIT-T. Le texte
identique est publié en tant que Rec. UIT-T X.691:2002/Amd.2.
© ISO/CEI 2007 – Tous droits réservés iii
---------------------- Page: 3 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007 (F)
NORME INTERNATIONALE
RECOMMANDATION UIT-T
Technologies de l'information – Règles de codage ASN.1:
spécification des règles de codage compact
Amendement 2
Prise en compte des types de temps
1) Table des matières
Mettre à jour la Table des matières comme suit:
28 bis Codage du type temps, des types utiles de temps, des types définis de temps et des types additionnels de
temps
28 bis.1 Général
28 bis.2 Codage des sous-types avec le réglage de propriété "Basic=Date"
28 bis.3 Codage des sous-types avec le réglage de propriété "Basic=Time"
28 bis.4 Codage des sous-types avec le réglage de propriété "Basic=Date-Time"
28 bis.5 Codage des sous-types avec les réglages de propriétés "Basic=Interval Interval-type=SE"
28 bis.6 Codage des sous-types avec les réglages de propriétés "Basic=Interval Interval-type=D"
28 bis.7 Codage des sous-types avec les réglages de propriétés "Basic=Interval Interval-type=SD" ou
"Basic=Interval Interval-type=DE"
28 bis.8 Codage des sous-types avec les réglages de propriétés "Basic=Rec-Interval Interval-type=SE"
28 bis.9 Codage des sous-types avec les réglages de propriétés "Basic=Rec-Interval Interval-type=D"
28 bis.10 Codage des sous-types avec les réglages de propriétés "Basic=Rec-Interval Interval-type=SD"
ou "Basic=Rec-Interval Interval-type=DE"
28 bis.11 Codage des sous-types avec des réglages mixtes de la propriété Basic
2) Nouveau paragraphe 9.3.11 bis
Insérer le paragraphe 9.3.11 bis après le paragraphe 9.3.11:
9.3.11 bis Les contraintes de réglage de propriété sur le type temps (ou sur les types utiles et définis de temps) qui
ne sont pas extensibles après l'application des règles de la Rec. UIT-T X.680 | ISO/CEI 8824-1, 48.3 à 48.5, sont
visibles par les règles PER. Les contraintes de réglage de propriété qui sont extensibles ne sont pas visibles par les
règles PER.
3) Nouveau paragraphe 28 bis
Insérer le paragraphe 28 bis avant le paragraphe 29:
28 bis Codage du type temps, des types utiles de temps, des types définis de temps et des types
additionnels de temps
28 bis.1 Général
Rec. UIT-T X.691 (2002)/Amd.2 (06/2006) 1
---------------------- Page: 4 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007 (F)
28 bis.1.1 Le codage des types utile de temps, des types définis de temps et des types additionnels de temps est
déterminé par les réglages de propriétés des valeurs abstraites de ces types. Des réglages de propriétés pour les valeurs
abstraites des types utiles de temps et pour les types définis de temps sont spécifiés dans la Rec. UIT-T X.680 |
ISO/CEI 8824-1, § 34 bis.4 et Annexe A bis respectivement. Les réglages de propriétés pour les valeurs abstraites des
types additionnels de temps sont déterminés par les réglages de propriétés du type parent, restreints par toute contrainte
visible par les PER qui s'applique (voir § 9.3.11 bis).
28 bis.1.2 Si toutes les valeurs abstraites du type à coder ont l'un des réglages de propriétés listés dans l'une des
lignes de la colonne 2 du Tableau 2, alors ce type est codé comme si le type avec ses contraintes (s'il y en a) avait été
remplacé par le type spécifié dans la même ligne de la colonne 3 du Tableau 2. Sinon, il est codé comme spécifié au
§ 28 bis.11.
NOTE – Si une propriété de temps (par exemple Midnight) n'est pas listée dans le Tableau 2 pour une ligne particulière, il n'y a
pas de contrainte sur son réglage.
28 bis.1.3 Pour que les lignes 24 à 32 soient applicables, toutes les valeurs abstraites du type doivent avoir la même
valeur de n dans Fn.
28 bis.1.4 Les types spécifiés en colonne 3 du Tableau 2 sont définis (en utilisant la notation ASN.1) dans les
§ 28 bis.2 à 28 bis.10, et sont supposés être définis dans un environnement d'AUTOMATIC TAGS.
NOTE 1 – L'utilisation de ces noms de référence de type dans la spécification de codages PER ne les rend pas disponibles pour
être utilisés par un concepteur d'application dans une spécification ASN.1; ils ne constituent pas non plus des mots réservés dans
une telle spécification. Cependant, lorsque le suffixe -ENCODING est retiré, ils correspondent aux noms des types utiles ou
définis de temps spécifiés dans la Rec. UIT-T X.680 | ISO/CEI 8824-1, § 34 bis.4 et Annexe A bis.
NOTE 2 – Tous les types utiles et définis de temps satisfont les conditions pour l'une des lignes du Tableau 2 et ont par
conséquent des codages optimisés. Des types additionnels de temps peuvent satisfaire les conditions pour l'une de ces lignes mais
sont sinon codés comme spécifié au § 28 bis.11. Le type TIME non constraint est toujours codé comme spécifié au § 28 bis.11.
Tableau 2 – Codage d'un sous-type de temps avec toutes les valeurs abstraites
qui ont les réglages de propriétés spécifiés
Numéro
de la Réglages de propriétés Type ASN.1 à coder
ligne
"Basic=Date Date=C Year=Basic" CENTURY-ENCODING
1 ou (voir § 28 bis.2.1)
"Basic=Date Date=C Year=Proleptic"
"Basic=Date Date=C Year=Negative" ANY-CENTURY-ENCODING
ou (voir § 28 bis.2.2)
2
"Basic=Date Date=C Year=Ln"
(pour tout n)
"Basic=Date Date=Y Year=Basic" YEAR-ENCODING
3
ou (voir § 28 bis.2.3)
"Basic=Date Date=Y Year=Proleptic"
"Basic=Date Date=Y Year=Negative" ANY-YEAR-ENCODING
ou (voir § 28 bis.2.4)
4
"Basic=Date Date=Y Year=Ln"
(pour tout n)
"Basic=Date Date=YM Year=Basic" YEAR-MONTH-ENCODING
5 ou (voir § 28 bis.2.5)
"Basic=Date Date=YM Year=Proleptic"
"Basic=Date Date=YM Year=Negative" ANY-YEAR-MONTH-ENCODING
ou (voir § 28 bis.2.6)
6
"Basic=Date Date=YM Year=Ln"
(pour tout n)
"Basic=Date Date=YMD Year=Basic" DATE-ENCODING
7
ou (voir § 28 bis.2.7)
"Basic=Date Date=YMD Year=Proleptic"
2 Rec. UIT-T X.691 (2002)/Amd.2 (06/2006)
---------------------- Page: 5 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007 (F)
Tableau 2 – Codage d'un sous-type de temps avec toutes les valeurs abstraites
qui ont les réglages de propriétés spécifiés
Numéro
de la Réglages de propriétés Type ASN.1 à coder
ligne
"Basic=Date Date=YMD Year=Negative" ANY-DATE-ENCODING
ou (voir § 28 bis.2.8)
8
"Basic=Date Date=YMD Year=Ln"
(pour tout n)
"Basic=Date Date=YD Year=Basic" YEAR-DAY-ENCODING
9
ou (voir § 28 bis.2.9)
"Basic=Date Date=YD Year=Proleptic"
"Basic=Date Date=YD Year=Negative" ANY-YEAR-DAY-ENCODING
ou (voir § 28 bis.2.10)
10
"Basic=Date Date=YD Year=Ln"
(pour tout n)
"Basic=Date Date=YW Year=Basic" YEAR-WEEK-ENCODING
11 ou (voir § 28 bis.2.11)
"Basic=Date Date=YW Year=Proleptic"
"Basic=Date Date=YW Year=Negative" ANY-YEAR-WEEK-ENCODING
ou (voir § 28 bis.2.12)
12
"Basic=Date Date=YW Year=Ln"
(pour tout n)
"Basic=Date Date=YWD Year=Basic" YEAR-WEEK-DAY-ENCODING
13
ou (voir § 28 bis.2.13)
"Basic=Date Date=YWD Year=Proleptic"
"Basic=Date Date=YWD Year=Negative" ANY-YEAR-WEEK-DAY-ENCODING
ou (voir § 28 bis.2.14)
14
"Basic=Date Date=YWD Year=Ln"
(pour tout n)
"Basic=Time Time=H Local-or-UTC=L" HOURS-ENCODING
15
(voir § 28 bis.3.1)
"Basic=Time Time=H Local-or-UTC=Z" HOURS-UTC-ENCODING
16
(voir § 28 bis.3.2)
"Basic=Time Time=H Local-or-UTC=LD" HOURS-AND-DIFF-ENCODING
17
(voir § 28 bis.3.3)
"Basic=Time Time=HM Local-or-UTC=L" MINUTES-ENCODING
18
(voir § 28 bis.3.4)
"Basic=Time Time=HM Local-or-UTC=Z" MINUTES-UTC-ENCODING
19
(voir § 28 bis.3.5)
"Basic=Time Time=HM Local-or-UTC=LD" MINUTES-AND-DIFF-ENCODING
20
(voir § 28 bis.3.6)
"Basic=Time Time=HMS Local-or-UTC=L" TIME-OF-DAY-ENCODING
21
(voir § 28 bis.3.7)
"Basic=Time Time=HMS Local-or-UTC=Z" TIME-OF-DAY-UTC-ENCODING
22
(voir § 28 bis.3.8)
"Basic=Time Time=HMS Local-or-UTC=LD" TIME-OF-DAY-AND-DIFF-ENCODING
23
(voir § 28 bis.3.9)
"Basic=Time Time=HFn Local-or-UTC=L" HOURS-AND-FRACTION-ENCODING
24
(mais voir § 28 bis.1.3) (voir § 28 bis.3.10)
"Basic=Time Time=HFn Local-or-UTC=Z" HOURS-UTC-AND-FRACTION-ENCODING
25
(mais voir § 28 bis.1.3) (voir § 28 bis.3.11)
Rec. UIT-T X.691 (2002)/Amd.2 (06/2006) 3
---------------------- Page: 6 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007 (F)
Tableau 2 – Codage d'un sous-type de temps avec toutes les valeurs abstraites
qui ont les réglages de propriétés spécifiés
Numéro
de la Réglages de propriétés Type ASN.1 à coder
ligne
"Basic=Time Time=HFn Local-or-UTC=LD" HOURS-AND-DIFF-AND-FRACTION-ENCODING
26
(mais voir § 28 bis.1.3) (voir § 28 bis.3.12)
"Basic=Time Time=HMFn Local-or-UTC=L" MINUTES-AND-FRACTION-ENCODING
27
(mais voir § 28 bis.1.3) (voir § 28 bis.3.13)
"Basic=Time Time=HMFn Local-or-UTC=Z" MINUTES-UTC-AND-FRACTION-ENCODING
28
(mais voir § 28 bis.1.3) (voir § 28 bis.3.14)
"Basic=Time Time=HMFn Local-or-UTC=LD" MINUTES-AND-DIFF-AND-FRACTION-ENCODING
29
(mais voir § 28 bis.1.3) (voir § 28 bis.3.15)
"Basic=Time Time=HMSFn Local-or-UTC=L" TIME-OF-DAY-AND-FRACTION-ENCODING
30
(mais voir § 28 bis.1.3) (voir § 28 bis.3.16)
"Basic=Time Time=HMSFn Local-or-UTC=Z" TIME-OF-DAY-UTC-AND-FRACTION-ENCODING
31
(mais voir § 28 bis.1.3) (voir § 28 bis.3.17)
"Basic=Time Time=HMSFn Local-or-UTC=LD" TIME-OF-DAY-AND-DIFF-AND-FRACTION-ENCODING
32
(mais voir § 28 bis.1.3) (voir § 28 bis.3.18)
"Basic=Date-Time" DATE-TIME-ENCODING
Toutes les valeurs abstraites doivent avoir les mêmes {Date-Type, Time-Type}
réglages additionnels de propriétés spécifiés dans l'une
33
(instancié comme spécifié au § 28 bis.4.1)
des lignes 1 à 14 pour "Basic=Date" ainsi que les
mêmes réglages additionnels de propriétés spécifiés dans
l'une des lignes 15 à 32 pour "Basic=Time".
"Basic=Interval Interval-type=SE START-END-DATE-INTERVAL-ENCODING
SE-point=Date"
{Date-Type}
34
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.5.1)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date".
"Basic=Interval Interval-type=SE START-END-TIME-INTERVAL-ENCODING
SE-point=Time"
{Time-Type}
35
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.5.2)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 15 à 32 pour "Basic=Time".
"Basic=Interval Interval-type=SE START-END-DATE-TIME-INTERVAL-ENCODING
SE-point=Date-Time"
{Date-Type, Time-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.5.3)
36
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date" ainsi que les
mêmes réglages additionnels de propriétés spécifiés dans
l'une des lignes 15 à 32 pour "Basic=Time".
"Basic=Interval Interval-type=D" DURATION-INTERVAL-ENCODING
37
(voir § 28 bis.6.1)
"Basic=Interval Interval-type=SD START-DATE-DURATION-INTERVAL-ENCODING
SE-point=Date"
{Date-Type}
38
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.7.1)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date".
"Basic=Interval Interval-type=SD START-TIME-DURATION-INTERVAL-ENCODING
SE-point=Time"
{Time-Type}
39
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.7.2)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 15 à 32 pour "Basic=Time".
4 Rec. UIT-T X.691 (2002)/Amd.2 (06/2006)
---------------------- Page: 7 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007 (F)
Tableau 2 – Codage d'un sous-type de temps avec toutes les valeurs abstraites
qui ont les réglages de propriétés spécifiés
Numéro
de la Réglages de propriétés Type ASN.1 à coder
ligne
"Basic=Interval Interval-type=SD START-DATE-TIME-DURATION-INTERVAL-ENCODING
SE-point=Date-Time"
{Date-Type, Time-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.7.3)
40
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date" ainsi que les
mêmes réglages additionnels de propriétés spécifiés dans
l'une des lignes 15 à 32 pour "Basic=Time".
"Basic=Interval Interval-type=DE DURATION-END-DATE-INTERVAL-ENCODING
SE-point=Date"
{Date-Type}
41
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.7.4)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date".
"Basic=Interval Interval-type=DE DURATION-END-TIME-INTERVAL-ENCODING
SE-point=Time"
{Time-Type}
42
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.7.5)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 15 à 32 pour "Basic=Time".
"Basic=Interval Interval-type=DE DURATION-END-DATE-TIME-INTERVAL-ENCODING
SE-point=Date-Time"
{Date-Type, Time-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.7.6)
43
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date" ainsi que les
mêmes réglages additionnels de propriétés spécifiés dans
l'une des lignes 15 à 32 pour "Basic=Time".
"Basic=Rec-Interval Interval-type=SE REC-START-END-DATE-INTERVAL-ENCODING
SE-point=Date"
{Date-Type}
44
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.8.1)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date".
"Basic=Rec-Interval Interval-type=SE REC-START-END-TIME-INTERVAL-ENCODING
SE-point=Time"
{Time-Type}
45
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.8.2)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 15 à 32 pour "Basic=Time".
"Basic=Rec-Interval Interval-type=SE REC-START-END-DATE-TIME-INTERVAL-ENCODING
SE-point=Date-Time"
{Date-Type, Time-Type}
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.8.3)
46
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date" ainsi que les
mêmes réglages additionnels de propriétés spécifiés dans
l'une des lignes 15 à 32 pour "Basic=Time".
"Basic=Rec-Interval Interval-type=D" REC-DURATION-INTERVAL-ENCODING
47
(voir § 28 bis.9.1)
"Basic=Rec-Interval Interval-type=SD REC-START-DATE-DURATION-INTERVAL-ENCODING
SE-point=Date"
{Date-Type}
48
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.10.1)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date".
"Basic=Rec-Interval Interval-type=SD REC-START-TIME-DURATION-INTERVAL-ENCODING
SE-point=Time"
{Time-Type}
49
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.10.2)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 15 à 32 pour "Basic=Time".
Rec. UIT-T X.691 (2002)/Amd.2 (06/2006) 5
---------------------- Page: 8 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007 (F)
Tableau 2 – Codage d'un sous-type de temps avec toutes les valeurs abstraites
qui ont les réglages de propriétés spécifiés
Numéro
de la Réglages de propriétés Type ASN.1 à coder
ligne
"Basic=Rec-Interval Interval-type=SD REC-START-DATE-TIME-DURATION-INTERVAL-
SE-point=Date-Time" ENCODING
Toutes les valeurs abstraites doivent avoir les mêmes {Date-Type, Time-Type}
50
réglages additionnels de propriétés spécifiés dans l'une
(voir § 28 bis.10.3)
des lignes 1 à 14 pour "Basic=Date" ainsi que les
mêmes réglages additionnels de propriétés spécifiés dans
l'une des lignes 15 à 32 pour "Basic=Time".
"Basic=Rec-Interval Interval-type=DE REC-DURATION-END-DATE-INTERVAL-ENCODING
SE-point=Date"
{Date-Type}
51
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.10.4)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 1 à 14 pour "Basic=Date".
"Basic=Rec-Interval Interval-type=DE REC-DURATION-END-TIME-INTERVAL-ENCODING
SE-point=Time"
{Time-Type}
52
Toutes les valeurs abstraites doivent avoir les mêmes
(voir § 28 bis.10.5)
réglages additionnels de propriétés spécifiés dans l'une
des lignes 15 à 32 pour "Basic=Time".
"Basic=Rec-Interval Interval-type=DE REC-DURATION-END-DATE-TIME-INTERVAL-
SE-point=Date-Time" ENCODING
Toutes les valeurs abstraites doivent avoir les mêmes {Date-Type, Time-Type}
53
réglages additionnels de propriétés spécifiés dans l'une
(voir § 28 bis.10.6)
des lignes 1 à 14 pour "Basic=Date" ainsi que les
mêmes réglages additionnels de propriétés spécifiés dans
l'une des lignes 15 à 32 pour "Basic=Time".
28 bis.2 Codage des sous-types avec le réglage de propriété "Basic=Date"
Ce paragraphe définit les types ASN.1 référencés dans le Tableau 2, colonne 3 pour des types dont toutes les valeurs
abstraites ont le réglage de propriété "Basic=Date".
28 bis.2.1 Le type CENTURY-ENCODING est défini comme:
CENTURY-ENCODING::= INTEGER(0.99) -- 7 bits
avec la valeur entière qui prend la valeur spécifiée par les deux premiers chiffres du composant année de la valeur
abstraite.
28 bis.2.2 Le type ANY-CENTURY-ENCODING est défini comme:
ANY-CENTURY-ENCODING::= INTEGER(MIN.MAX)
avec la valeur entière qui prend la valeur spécifiée par le composant année de la valeur abstraite, en ignorant les deux
derniers chiffres.
28 bis.2.3 Le type YEAR-ENCODING est défini comme:
YEAR-ENCODING ::= CHOICE { -- 2 bits pour le déterminant de choix
immediate INTEGER (2005.2020), -- 4 bits
near-future INTEGER (2021.2276), -- 8 bits
near-past INTEGER (1749.2004), -- 8 bits
remainder INTEGER (MIN.1748 | 2277.MAX)}
avec la valeur entière qui prend la valeur du composant année de la valeur abstraite.
NOTE – Ceci a été optimisé pour fournir un codage sur 6 ou 10 bits pour des cas communs.
28 bis.2.4 Le type ANY-YEAR-ENCODING est défini comme:
ANY-YEAR-ENCODING::= INTEGER(MIN.MAX)
avec la valeur entière qui prend la valeur du composant année de la valeur abstraite.
6 Rec. UIT-T X.691 (2002)/Amd.2 (06/2006)
---------------------- Page: 9 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007 (F)
28 bis.2.5 Le type YEAR-MONTH-ENCODING est défini comme:
YEAR-MONTH-ENCODING::= SEQUENCE {
year YEAR-ENCODING,
month INTEGER (1.12) -- 4 bits -- }
avec la valeur du composant YEAR-ENCODING fixée en accord avec le § 28 bis.2.3 et le composant entier month qui
prend la valeur du composant mois de la valeur abstraite.
NOTE – Ceci a été optimisé pour fournir un codage sur 10 ou 14 bits pour des cas communs.
28 bis.2.6 Le type ANY-YEAR-MONTH-ENCODING est défini comme:
ANY-YEAR-MONTH-ENCODING::= SEQUENCE {
year ANY-YEAR-ENCODING,
month INTEGER (1.12) }
avec la valeur du composant ANY-YEAR-ENCODING fixée en accord avec le § 28 bis.2.4 et le composant entier month
qui prend la valeur du composant mois de la valeur abstraite.
28 bis.2.7 Le type DATE-ENCODING est défini comme:
DATE-ENCODING::= SEQUENCE {
year YEAR-ENCODING,
month INTEGER (1.12), -- 4 bits
day INTEGER (1.31) -- 5 bits -- }
avec la valeur du composant YEAR-ENCODING fixée en accord avec le § 28 bis.2.3, le composant entier month qui prend
la valeur du composant mois de la valeur abstraite et le composant entier day qui prend la valeur du composant jour de
la valeur abstraite.
NOTE – Ceci a été optimisé pour fournir un codage sur 15 ou 19 bits pour des cas communs.
28 bis.2.8 Le type ANY-DATE-ENCODING est défini comme:
ANY-DATE-ENCODING::= SEQUENCE {
year ANY-YEAR-ENCODING,
month INTEGER (1.12),
day INTEGER (1.31)}
avec la valeur du composant ANY-YEAR-ENCODING fixée en accord avec le § 28 bis.2.4, le composant entier month qui
prend la valeur du composant mois de la valeur abstraite et le composant entier day qui prend la valeur du composant
jour de la valeur abstraite.
28 bis.2.9 Le type YEAR-DAY-ENCODING est défini comme:
YEAR-DAY-ENCODING::= SEQUENCE {
year YEAR-ENCODING,
day INTEGER (1.366)}
avec la valeur du composant YEAR-ENCODING fixée en accord avec le § 28 bis.2.3 et le composant entier day qui prend
la valeur du composant jour de la valeur abstraite.
28 bis.2.10 Le type ANY-YEAR-DAY-ENCODING est défini comme:
ANY-YEAR-DAY-ENCODING::= SEQUENCE {
year ANY-YEAR-ENCODING,
day INTEGER (1.366)}
avec la valeur du composant ANY-YEAR-ENCODING fixée en accord avec le § 28 bis.2.4 et le composant entier day qui
prend la valeur du composant jour de la valeur abstraite.
28 bis.2.11 Le type YEAR-WEEK-ENCODING est défini comme:
YEAR-WEEK-ENCODING::= SEQUENCE {
year YEAR-ENCODING,
week INTEGER (1.53), -- 6 bits --}
avec la valeur du composant YEAR-ENCODING fixée en accord avec le § 28 bis.2.3 et le composant entier week qui
prend la valeur du composant semaine de la valeur abstraite.
NOTE – Ceci a été optimisé pour fournir un codage sur 12 ou 16 bits pour des cas communs.
Rec. UIT-T X.691 (2002)/Amd.2 (06/2006) 7
---------------------- Page: 10 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007 (F)
28 bis.2.12 Le type ANY-YEAR-WEEK-ENCODING est défini comme:
ANY-YEAR-WEEK-ENCODING::= SEQUENCE {
year ANY-YEAR-ENCODING,
week INTEGER (1.53)}
avec la valeur du composant ANY-YEAR-ENCODING fixée en accord avec le § 28 bis.2.4 et le composant entier week qui
prend la valeur du composant semaine de la valeur abstraite.
28 bis.2.13 Le type YEAR-WEEK-DAY-ENCODING est défini comme:
YEAR-WEEK-DAY-ENCODING::= SEQUENCE {
year YEAR-ENCODING,
week INTEGER (1.53), -- 6 bits
day INTEGER (1.7) -- 3 bits -- }
avec la valeur du composant YEAR-ENCODING fixée en accord avec le § 28 bis.2.3, le composant entier week qui prend
la valeur du composant semaine de la valeur abstraite et le composant entier day qui prend la valeur du composant jour
de la valeur abstraite.
NOTE – Ceci a été optimisé pour fournir un codage sur 15 ou 19 bits pour des cas communs.
28 bis.2.14 Le type ANY-YEAR-WEEK-DAY-ENCODING est défini comme:
ANY-YEAR-WEEK-DAY-ENCODING::= SEQUENCE {
year ANY-YEAR-ENCODING,
week INTEGER (1.53),
day INTEGER (1.7)}
avec la valeur du composant ANY-YEAR-ENCODING fixée en accord avec le § 28 bis.2.4, le composant entier week qui
prend la valeur du composant semaine de la valeur abstraite et le composant entier day qui prend la valeur du
composant jour de la valeur abstraite.
28 bis.3 Codage des sous-types avec le réglage de propriété "Basic=Time"
Ce paragraphe définit les types ASN.1 référencés dans le Tableau 2, colonne 3 pour des types dont toutes les valeurs
abstraites ont le réglage de propriété Basic=Time.
28 bis.3.1 Le type HOURS-ENCODING est défini comme:
HOURS-ENCODING::= INTEGER(0.24) -- 5 bits
avec la valeur entière qui prend la valeur du composant heures de la valeur abstraite.
NOTE – Ceci a été optimisé pour fournir un codage sur 5 bits.
28 bis.3.2 Le type HOURS-UTC-ENCODING est défini comme:
HOURS-UTC-ENCODING::= INTEGER(0.24) -- 5 bits
avec la valeur entière qui prend la valeur du composant heures de la valeur abstraite.
NOTE – Ceci a été optimisé pour fournir un codage sur 5 bits.
28 bis.3.3 Le type HOURS-AND-DIFF-ENCODING est défini comme:
HOURS-AND-DIFF-ENCODING::= SEQUENCE {
local-hours INTEGER (0.24),
time-difference TIME-DIFFERENCE }
où:
TIME-DIFFERENCE::= SEQUENCE {
hours INTEGER (-15.16),
minutes INTEGER (1.59) OPTIONAL } }
avec le composant entier local-hours qui prend la valeur du composant heures de la valeur abstraite et le composant
time-difference qui prend les valeurs des heures et minutes du composant différence d'heure de la valeur abstraite.
Si le composant minutes de la différence d'heure est nul, le composant minutes du type TIME-DIFFERENCE est omis.
8 Rec. UIT-T X.691 (2002)/Amd.2 (06/2006)
---------------------- Page: 11 ----------------------
ISO/CEI 8825-2:2002/Amd.2:2007 (F)
28 bis.3.4 Le type MINUTES-ENCODING est défini comme:
MINUTES-ENCODING::= SEQUENCE {
hours INTEGER (0.24), -- 5 bits
minutes INTEGER (0.59) -- 5 bits -- }
avec le composant entier hours qui prend la valeur du composant heures de la valeur abstraite et le composant entier
minutes qui prend la valeur du composant minutes de la valeur abstraite.
NOTE – Ceci a été optimisé pour fournir un codage sur 10 bits.
28 bis.3.5 Le type MINUTES-UTC-ENCODING est défini comme:
MINUTES-UTC-ENCODING::= SEQUENCE {
hours INTEGER (0.24), -- 5 bits
minutes INTEGER (0.59) -- 5 bits -- }
avec le composant entier hours qui prend la valeur du composant heures de la valeur abstraite et le composant entier
minutes qui prend la valeur du composant minutes.
NOTE – Ceci a été optimisé pour fournir un codage sur 10 bits.
28 bis.3.6 Le type MINUTES-AND-DIFF-ENCODING est défini comme:
MINUTES-AND-DIFF-ENCODING::= SEQUENCE {
local-time SEQUENCE {
hours INTEGER (0.24),
minutes INTEGER (0.59) },
time-difference TIME-DIFFERENCE } }
avec le composant local-time qui prend la valeur des composants heures et minutes de l'heure locale de la valeur
abstraite et le composant time-difference qui prend les valeurs des heures et minutes du composant différence
d'heure de la valeur abstraite comme spécifié au § 28 bis.3.3.
28 bis.3.7 Le type TIME-OF-DAY-ENCODING est défini comme:
TIME-OF-DAY-ENCODING::= SEQUENCE {
hours INTEGER (0.24), -- 5 bits
minutes INTEGER (0.59), -- 5 bits
seconds INTEGER (0.60) -- 5 bits -- }
avec le composant entier hours qui prend la valeur du composant heures de la valeur abstraite, le composant entier
minutes qui prend la valeur du composant minutes et le composant entier seconds qui prend la valeur du composant
secondes.
NOTE – Ceci a été optimisé pour fournir un codage sur 15 bits.
28 bis.3.8 Le type TIME-OF-DAY-UTC-ENCODING est défini comme:
TIME-OF-DAY-UTC-ENCODING::= SEQUENCE {
hours INTEGER (0.24), -- 5 bits
minutes INTEGER (0.59), -- 5 bits
seconds INTEGER (0.60) -- 5 bits -- }
avec le composant entier hours qui prend la valeur du com
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.