ITU-T Rec. X.680 (07/2002) Information technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation Summary Source FOREWORD CONTENTS Introduction 1 Scope 2 Normative references 2.1 Identical Recommendations | International Standards 2.2 Additional references 3 Definitions 3.1 Information object specification 3.2 Constraint specification 3.3 Parameterization of ASN.1 specification 3.4 Structure for identification of organizations 3.5 Universal Multiple-Octet Coded Character Set (UCS) 3.6 Additional definitions 4 Abbreviations 5 Notation 5.1 General 5.2 Productions 5.3 The alternative collections 5.4 Non-spacing indicator 5.5 Example of a production 5.6 Layout 5.7 Recursion 5.8 References to permitted sequences of lexical items 5.9 References to a lexical item 5.10 Short-hand notations 5.11 Value references and the typing of values 6 The ASN.1 model of type extension 7 Extensibility requirements on encoding rules 8 Tags 9 Use of the ASN.1 notation 10 The ASN.1 character set 11 ASN.1 lexical items 11.1 General rules 11.2 Type references 11.3 Identifiers 11.4 Value references 11.5 Module references 11.6 Comments 11.7 Empty lexical item 11.8 Numbers 11.9 Real numbers 11.10 Binary strings 11.11 XML binary string item 11.12 Hexadecimal strings 11.13 XML hexadecimal string item 11.14 Character strings 11.15 XML character string item 11.16 Assignment lexical item 11.17 Range separator 11.18 Ellipsis 11.19 Left version brackets 11.20 Right version brackets 11.21 XML end tag start item 11.22 XML single tag end item 11.23 XML boolean true item 11.24 XML boolean false item 11.25 XML tag names for ASN.1 types 11.26 Single character lexical items 11.27 Reserved words 12 Module definition 13 Referencing type and value definitions 14 Notation to support references to ASN.1 components 15 Assigning types and values 16 Definition of types and values 17 Notation for the boolean type 18 Notation for the integer type 19 Notation for the enumerated type 20 Notation for the real type 21 Notation for the bitstring type 22 Notation for the octetstring type 23 Notation for the null type 24 Notation for sequence types 25 Notation for sequence-of types 26 Notation for set types 27 Notation for set-of types 28 Notation for choice types 29 Notation for selection types 30 Notation for tagged types 31 Notation for the object identifier type 32 Notation for the relative object identifier type 33 Notation for the embedded-pdv type 34 Notation for the external type 35 The character string types 36 Notation for character string types 37 Definition of restricted character string types 38 Naming characters and collections defined in ISO/IEC 10646-1 39 Canonical order of characters 40 Definition of unrestricted character string types 41 Notation for types defined in clauses 42 to 44 42 Generalized time 43 Universal 44 The object descriptor type 45 Constrained types 46 Element set specification 47 Subtype elements 47.1 General 47.2 Single value 47.3 Contained subtype 47.4 Value range 47.5 Size constraint 47.6 Type constraint 47.7 Permitted alphabet 47.8 Inner subtyping 47.9 Pattern constraint 48 The extension marker 49 The exception identifier Annex A - ASN.1 regular expressions A.1 Definition A.2 Metacharacters Annex B - Rules for type and value Compatibility B.1 The need for the value mapping concept (tutorial introduction) B.2 Value mappings B.3 Identical type definitions B.4 Specification of value mappings B.5 Additional value mappings defined for the character string types B.6 Specific type and value compatibility requirements B.7 Examples Annex C - Assigned object identifier values C.1 Object identifiers assigned in this Recommendation | International Standard C.2 Object identifiers in the ASN.1 and encoding rules standards Annex D - Assignment of object identifier component values D.1 Root assignment of object identifier component values D.2 ITU-T assignment of object identifier component values D.3 ISO assignment of object identifier component values D.4 Joint assignment of object identifier component values Annex E - Examples and hints E.1 Example of a personnel record E.1.1 Informal description of Personnel Record E.1.2 ASN.1 description of the record structure E.1.3 ASN.1 description of a record value E.2 Guidelines for use of the notation E.2.1 Boolean E.2.2 Integer E.2.3 Enumerated E.2.4 Real E.2.5 Bit string E.2.6 Octet string E.2.7 UniversalString, BMPString and UTF8String E.2.8 CHARACTER STRING E.2.9 Null E.2.10 Sequence and sequence-of E.2.11 Set and set-of E.2.12 Tagged E.2.13 Choice E.2.14 Selection type E.2.15 Object class field type E.2.16 Embedded-pdv E.2.17 External E.2.18 Instance-of E.2.19 Relative object identifier E.3 Identifying abstract syntaxes E.4 Subtypes Annex F - Tutorial annex on ASN.1 character strings F.1 Character string support in ASN.1 F.2 The UniversalString, UTF8String and BMPString types F.3 On ISO/IEC 10646-1 conformance requirements F.4 Recommendations for ASN.1 users on ISO/IEC 10646-1 conformance F.5 Adopted subsets as parameters of the abstract syntax F.6 The CHARACTER STRING type Annex G - Tutorial annex on the ASN.1 model of type extension G.1 Overview G.2 Meaning of version numbers G.3 Requirements on encoding rules G.4 Combination of (possibly extensible) constraints G.4.1 Model G.4.2 Serial application of constraints G.4.3 Use of set arithmetic G.4.4 Use of the Contained Subtype notation Annex H - Summary of the ASN.1 notation