Information technology -- ASN.1 encoding rules

Technologies de l'information -- Règles de codage ASN.1

General Information

Status
Published
Current Stage
4020 - DIS ballot initiated: 5 months
Start Date
28-Sep-2020
Completion Date
28-Sep-2020
Ref Project

RELATIONS

Buy Standard

Draft
ISO/IEC DIS 8825-5 - Information technology -- ASN.1 encoding rules
English language
63 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (sample)

DRAFT INTERNATIONAL STANDARD
ISO/IEC DIS 8825-5
ISO/IEC JTC 1/SC 6 Secretariat: KATS
Voting begins on: Voting terminates on:
2020-09-28 2020-12-21
Information technology — ASN.1 encoding rules —
Part 5:
Mapping W3C XML schema definitions into ASN.1
Technologies de l'information — Règles de codage ASN.1 —
Partie 5: Mappage en ASN.1 des définitions de schéma XML du W3C
ICS: 35.100.60
THIS DOCUMENT IS A DRAFT CIRCULATED
FOR COMMENT AND APPROVAL. IT IS
THEREFORE SUBJECT TO CHANGE AND MAY
NOT BE REFERRED TO AS AN INTERNATIONAL
STANDARD UNTIL PUBLISHED AS SUCH.
IN ADDITION TO THEIR EVALUATION AS
BEING ACCEPTABLE FOR INDUSTRIAL,
This document is circulated as received from the committee secretariat.
TECHNOLOGICAL, COMMERCIAL AND
USER PURPOSES, DRAFT INTERNATIONAL
STANDARDS MAY ON OCCASION HAVE TO
BE CONSIDERED IN THE LIGHT OF THEIR
POTENTIAL TO BECOME STANDARDS TO
WHICH REFERENCE MAY BE MADE IN
Reference number
NATIONAL REGULATIONS.
ISO/IEC DIS 8825-5:2020(E)
RECIPIENTS OF THIS DRAFT ARE INVITED
TO SUBMIT, WITH THEIR COMMENTS,
NOTIFICATION OF ANY RELEVANT PATENT
RIGHTS OF WHICH THEY ARE AWARE AND TO
PROVIDE SUPPORTING DOCUMENTATION. ISO/IEC 2020
---------------------- Page: 1 ----------------------
ISO/IEC DIS 8825-5:2020(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2020

All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may

be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting

on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address

below or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii © ISO/IEC 2020 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC DIS 8825-5:2020(E)
CONTENTS
Page

1 Scope .............................................................................................................................................................. 1

2 Normative references...................................................................................................................................... 1

2.1 Identical Recommendations | International Standards ........................................................................ 1

2.2 Additional references .......................................................................................................................... 2

3 Definitions ...................................................................................................................................................... 2

3.1 Imported definitions ............................................................................................................................ 2

3.2 Additional definitions .......................................................................................................................... 3

4 Abbreviations ................................................................................................................................................. 3

5 Notation .......................................................................................................................................................... 3

6 Purpose and extent of standardization ............................................................................................................ 3

7 Mapping XSD Schemas ................................................................................................................................. 4

8 Ignored schema components and properties ................................................................................................... 5

9 ASN.1 modules .............................................................................................................................................. 6

10 Name conversion ............................................................................................................................................ 6

10.1 General ................................................................................................................................................ 6

10.2 Generating ASN.1 type definitions that are references to ASN.1 type assignments ........................... 7

10.3 Generating identifiers and type reference names ................................................................................ 7

10.4 Order of the mapping .......................................................................................................................... 9

11 Mapping uses of XSD built-in types .............................................................................................................. 10

12 Mapping facets............................................................................................................................................... 10

12.1 The length, minLength, and maxLength facets ................................................................................ 11

12.2 The pattern facet ................................................................................................................................. 11

12.3 The whiteSpace facet......................................................................................................................... 11

12.4 The enumeration facet ....................................................................................................................... 12

12.5 Other facets ......................................................................................................................................... 14

13 Mapping simple type definitions ................................................................................................................... 14

14 Mapping element declarations ..................................................................................................................... 16

15 Mapping attribute declarations ..................................................................................................................... 17

16 Mapping values of simple type definitions ................................................................................................... 17

17 Mapping model group definitions ................................................................................................................. 17

18 Mapping model groups ................................................................................................................................. 17

19 Mapping particles .......................................................................................................................................... 18

20 Mapping complex type definitions................................................................................................................ 19

21 Mapping wildcards ......................................................................................................................................... 20

22 Mapping attribute uses .................................................................................................................................. 22

23 Mapping uses of simple and complex type definitions (general case) ......................................................... 22

24 Mapping special uses of simple and complex type definitions (substitutable) ............................................. 23

25 Mapping special uses of simple and complex type definitions (substitutable, nillable) ............................... 24

26 Mapping special uses of simple type definitions (nillable) ........................................................................... 25

27 Mapping special uses of complex type definitions (nillable) ........................................................................ 26

28 Mapping special uses of element declarations (head of element substitution group) .................................. 27

29 Generating special ASN.1 type assignments for types used in element declarations .................................. 27

30 Generating special ASN.1 type assignments for types belonging to a derivation hierarchy .......................... 29

31 Generating special ASN.1 type assignments for element substitution groups ................................................ 29

Annex A – ASN.1 type definitions corresponding to XSD built-in types for the Version 1 mapping ...................... 30

Annex B – ASN.1 type definitions corresponding to XSD built-in types for the Version 2 mapping....................... 34

ii Rec. ITU-T X.694 (08/2015)
© ISO/IEC 2020 – All rights reserved
---------------------- Page: 3 ----------------------
ISO/IEC DIS 8825-5:2020(E)
Page

Annex C – Identification of the XSD module............................................................................................................ 38

Annex D – Examples of mappings ............................................................................................................................ 39

D.1 A Schema using simple type definitions ............................................................................................ 39

D.2 The corresponding ASN.1 definitions ................................................................................................. 40

D.3 Further examples ................................................................................................................................. 41

Annex E – Use of the mapping to provide binary encodings for W3C XML Schema .............................................. 61

E.1 Encoding XSD Schemas ..................................................................................................................... 61

E.2 Transfer without using the XSD Schema for Schemas ....................................................................... 61

E.3 Transfer using the XSD Schema for Schemas .................................................................................... 61

Rec. ITU-T X.694 (08/2015) iii
© ISO/IEC 2020 – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC DIS 8825-5:2020(E)
Introduction

This Recommendation | International Standard specifies Version 1 and Version 2 of a mapping from a W3C XML

Schema definition (an XSD Schema) into an ASN.1 schema. The mappings can be applied to any XSD Schema. Both

mappings specify the generation of one or more ASN.1 modules containing type definitions, together with ASN.1 XER

encoding instructions. These are jointly described as an ASN.1 schema for XML documents. This ASN.1 schema

(produced by either Version of the mapping), when used with the ASN.1 Extended XML Encoding Rules

(EXTENDED-XER), can be used to generate and to validate the same set of W3C XML 1.0 documents as the original

XSD Schema. The resulting ASN.1 types and encodings support the same semantic content as the XSD Schema. Thus

ASN.1 tools can be used interchangeably with XSD tools for the generation and processing of the specified XML

documents.

Other standardized ASN.1 encoding rules, such as the Distinguished Encoding Rules (DER) or the Packed Encoding

Rules (PER), can be used in conjunction with this standardized mapping, but produce encodings for Version 2 of the

mapping that differ from (and are less verbose than) those produced by Version 1 for XSD constructs involving dates

and times or wildcards.

The combination of this Recommendation | International Standard with ASN.1 Encoding Rules provides fully-

standardized and vendor-independent compact and canonical binary encodings for data originally defined using an XSD

Schema.

The ASN.1 schema provides a clear separation between the specification of the information content of messages (their

abstract syntax) and the precise form of the XML document (for example, use of attributes instead of elements). This

results in both a clearer and generally a less verbose schema than the original XSD Schema.

Annex A forms an integral part of this Recommendation | International Standard, and is an ASN.1 module containing a

set of ASN.1 type assignments that correspond to each of the XSD built-in types for Version 1 of the mapping.

Mappings of XSD Schemas into ASN.1 schemas either import the type reference names of those type assignments or

include the type definitions in-line.

Annex B also forms an integral part of this Recommendation | International Standard and provides the ASN.1 module

for Version 2 of the mapping.

Annex C does not form an integral part of this Recommendation | International Standard, and summarizes the object

identifier, OID internationalized resource identifier and object descriptor values assigned in this Recommendation |

International Standard.Annex D does not form an integral part of this Recommendation | International Standard, and

gives examples of the mapping of XSD Schemas into ASN.1 schemas.

Annex E does not form an integral part of this Recommendation | International Standard, and describes the use of the

mapping defined in this Recommendation | International Standard, in conjunction with standardized ASN.1 Encoding

Rules, to provide compact and canonical encodings for data defined using an XSD Schema.

iv Rec. ITU-T X.694 (08/2015)
© ISO/IEC 2020 – All rights reserved
---------------------- Page: 5 ----------------------
ISO/IEC DIS 8825-5:2020(E)
ISO/IEC 8825-5:2015 (E)
INTERNATIONAL STANDARD
ITU-T RECOMMENDATION
Information technology – ASN.1 encoding rules: Mapping W3C XML
schema definitions into ASN.1
1 Scope

This Recommendation | International Standard specifies two Versions of a mapping from any XSD Schema into an

ASN.1 schema. The ASN.1 schema for both Versions support the same semantics and validate the same set of XML

documents.

This Recommendation | International Standard specifies the final XER encoding instructions that are to be applied as

part of the defined mapping to ASN.1 types, but does not specify which syntactic form is to be used for the specification

of those final XER encoding instructions, or the order or manner of their assignment.

NOTE – Implementers of tools generating these mappings may choose any syntactic form or order of assignment that results in

the specified final XER encoding instructions being applied. Examples in this Recommendation | International Standard generally

use the type prefix form, but use of an XER Encoding Control Section may be preferred for the mapping of a complete XSD

Schema, as a matter of style.

There are different ways (syntactically) of assigning XER encoding instructions for use in EXTENDED-XER

encodings (for example, use of ASN.1 type prefix encoding instructions or use of an XER encoding control section).

The choice of these syntactic forms is a matter of style and is outside the scope of this Recommendation | International

Standard.
2 Normative references

The following Recommendations | International Standards and W3C specifications contain provisions which, through

reference in this text, constitute provisions of this Recommendation | International Standard. At the time of publication,

the editions indicated were valid. All Recommendations, International Standards and W3C specifications are subject to

revision, and parties to agreements based on this Recommendation | International Standard are encouraged to

investigate the possibility of applying the most recent edition of the Recommendations, International Standards and

W3C specifications listed below. Members of IEC and ISO maintain registers of currently valid International Standards.

The Telecommunication Standardization Bureau of the ITU maintains a list of currently valid ITU-T

Recommendations. The W3C maintains a list of currently valid W3C specifications. The reference to a document

within this Recommendation | International Standard does not give it, as a stand-alone document, the status of a

Recommendation or International Standard.

NOTE – This Recommendation | International Standard is based on ISO/IEC 10646:2003 and the Unicode standard version

3.2.0:2002. It cannot be applied using later versions of these two standards.
2.1 Identical Recommendations | International Standards

NOTE – The complete set of ASN.1 Recommendations | International Standards are listed below, as they can all be applicable in

particular uses of this Recommendation | International Standard. Where these are not directly referenced in the body of this

Recommendation | International Standard, a † symbol is added to the reference.

– Recommendation ITU-T X.680 (2020) | ISO/IEC 8824-1:2020, Information technology – Abstract

Syntax Notation One (ASN.1): Specification of basic notation.

– Recommendation ITU-T X.681 (2020) | ISO/IEC 8824-2:2020, Information technology – Abstract

Syntax Notation One (ASN.1): Information object specification. †

– Recommendation ITU-T X.682 (2020) | ISO/IEC 8824-3:2020, Information technology – Abstract

Syntax Notation One (ASN.1): Constraint specification.

– Recommendation ITU-T X.683 (2020) | ISO/IEC 8824-4:2020, Information technology – Abstract

Syntax Notation One (ASN.1): Parameterization of ASN.1 specifications. †

– Recommendation ITU-T X.690 (2020) | ISO/IEC 8825-1:2020, Information technology – ASN.1

encoding Rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER), and

Distinguished Encoding Rules (DER).

– Recommendation ITU-T X.691 (2020) | ISO/IEC 8825-2:2020, Information technology – ASN.1

encoding rules: Specification of Packed Encoding Rules (PER).
Rec. ITU-T X.694 (08/2015) 1
© ISO/IEC 2020 – All rights reserved
---------------------- Page: 6 ----------------------
ISO/IEC DIS 8825-5:2020(E)
ISO/IEC 8825-5:2015 (E)

– Recommendation ITU-T X.692 (2020) | ISO/IEC 8825-3:2020, Information technology – ASN.1

encoding rules: Specification of Encoding Control Notation (ECN). †

– Recommendation ITU-T X.693 (2020) | ISO/IEC 8825-4:2020, Information technology – ASN.1

encoding rules: XML Encoding Rules (XER).

– Recommendation ITU-T X.891 (2005) | ISO/IEC 24824-1:2007, Information technology – Generic

Applications of ASN.1: Fast Infoset.
2.2 Additional references

– ISO 8601:2004, Data elements and interchange formats – Information interchange – Representation of

dates and times.

– ISO/IEC 10646:2003, Information technology – Universal Multiple-Octet Coded Character Set (UCS).

– W3C XML 1.0:2000, Extensible Markup Language (XML) 1.0 (Second Edition), W3C Recommendation,

Copyright © [6 October 2000] World Wide Web Consortium, (Massachusetts Institute of Technology,

Institut National de Recherche en Informatique et en Automatique, Keio University),

http://www.w3.org/TR/2000/REC-xml-20001006.

– W3C XML Namespaces:1999, Namespaces in XML, W3C Recommendation, Copyright © [14 January

1999] World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de

Recherche en Informatique et en Automatique, Keio University), http://www.w3.org/TR/1999/REC-xml-

names-19990114.

– W3C XML Information Set:2001, XML Information Set, W3C Recommendation, Copyright ©

[24 October 2001] World Wide Web Consortium (Massachusetts Institute of Technology, Institut

National de Recherche en Informatique et en Automatique, Keio University),
http://www.w3.org/TR/2001/REC-xml-infoset-20011024.

– W3C XML Schema:2001, XML Schema Part 1: Structures, W3C Recommendation, Copyright © [2 May

2001] World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de

Recherche en Informatique et en Automatique, Keio University), http://www.w3.org/TR/2001/REC-

xmlschema-1-20010502.

– W3C XML Schema:2001, XML Schema Part 2: Datatypes, W3C Recommendation, Copyright © [2 May

2001] World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de

Recherche en Informatique et en Automatique, Keio University), http://www.w3.org/TR/2001/REC-

xmlschema-2-20010502.

NOTE – When the reference "W3C XML Schema" is used in this Recommendation | International Standard, it

refers to W3C XML Schema Part 1 and W3C XML Schema Part 2.
– IETF RFC 2396 (1998), Uniform Resource Identifiers (URI): Generic Syntax.
– IETF RFC 1766 (1995), Tags for the Identification of Languages.
3 Definitions
3.1 Imported definitions

3.1.1 This Recommendation | International Standard uses the terms defined in Rec. ITU-T X.680 | ISO/IEC 8824-1

and in Rec. ITU-T X.693 | ISO/IEC 8825-4.

NOTE – In particular, the terms "final XER encoding instructions", "type prefix" and "XER encoding control section" are

defined in the above-mentioned Recommendations | International Standards.

3.1.2 This Recommendation | International Standard also uses the terms defined in W3C XML Schema and W3C

XML Information Set.

NOTE 1 – It is believed that these terms do not conflict with the terms referenced in 3.1.1. If such a conflict occurs, the definition

of the term in 3.1.1 applies.

NOTE 2 – In particular, the terms "schema component" and "property (of a schema component)" are defined in W3C XML

Schema, and the terms "element information item" and "attribute information item" are defined in W3C XML Information Set.

NOTE 3 – The terms "top-level simple type definition" and "top-level complex type definition" do not include XSD built-in types,

when used in this Recommendation | International Standard.
2 Rec. ITU-T X.694 (08/2015)
© ISO/IEC 2020 – All rights reserved
---------------------- Page: 7 ----------------------
ISO/IEC DIS 8825-5:2020(E)
ISO/IEC 8825-5:2015 (E)
3.2 Additional definitions

For the purposes of this Recommendation | International Standard, the following additional definitions apply:

3.2.1 XSD namespace: A namespace with a URI of "http://www.w3.org/2001/XMLSchema".

3.2.2 XSI namespace: A namespace with a URI of "http://www.w3.org/2001/XMLSchema-instance".

3.2.3 XML namespace: A namespace with a URI of "http://www.w3.org/XML/1998/namespace".

4 Abbreviations

For the purposes of this Recommendation | International Standard, the following abbreviations apply:

ASN.1 Abstract Syntax Notation One
BER (ASN.1) Basic Encoding Rules
DER (ASN.1) Distinguished Encoding Rules
PER (ASN.1) Packed Encoding Rules
URI (IETF) Uniform Resource Identifier
XER (ASN.1) XML Encoding Rules
XML (W3C) Extensible Markup Language
XSD (W3C) XML Schema
5 Notation

5.1 This Recommendation | International Standard references the notation defined by Rec. ITU-T X.680 |

ISO/IEC 8824-1, Rec. ITU-T X.682 | ISO/IEC 8824-3, W3C XML 1.0 and W3C XML Schema.

5.2 When it is necessary in the body of this Recommendation | International Standard to specify, either formally

or in examples, the assignment of XER encoding instructions, the type prefix notation is generally used (but see 6.3

and 6.4). In Annex A, an XER encoding control section is used.

5.3 In this Recommendation | International Standard, bold Courier is used for ASN.1 notation and bold Arial is

used for XSD notation and for XSD terms and concepts.

5.4 The XSD Schemas used in the examples in this Recommendation | International Standard use the prefix xsd:

to identify the XSD namespace.
6 Purpose and extent of standardization

6.1 The mapping to ASN.1 that is specified in this Recommendation | International Standard ensures that:

a) any resulting ASN.1 modules generated by tools conforming to this Recommendation | International

Standard (from the same XSD Schema) define the same (structured) abstract values;

b) all BASIC-XER, CXER, EXTENDED-XER, and binary encodings of that resulting ASN.1 specification

will produce the same encodings (subject to encoder's options); and

c) all XML documents that conform to the source XSD Schema are valid EXTENDED-XER encodings of

abstract values of that ASN.1 specification.

6.2 There are many aspects of an ASN.1 definition (such as the use of white-space, or of encoding control

sections or type prefixes) that affect neither the abstract values being defined nor the XER or binary encodings of those

values. Such aspects of the ASN.1 definition are generally not standardized in this Recommendation | International

Standard.

6.3 There are many different ways in ASN.1 of assigning an XER encoding instruction to a type, including:

a) use of a type prefix for every encoding instruction to be assigned; or

b) use of an encoding control section, with a separate encoding instruction for each required assignment; or

c) use of an encoding control section, with a single encoding instruction making a global assignment,

possibly supplemented by use of a negating encoding instruction for specific types.

6.4 This Recommendation | International Standard specifies when a final XER encoding instruction shall be

present, and uses the syntax of 6.3 a) in most of its examples. However, the use of the different options in 6.3 is not

Rec. ITU-T X.694 (08/2015) 3
© ISO/IEC 2020 – All rights reserved
---------------------- Page: 8 ----------------------
ISO/IEC DIS 8825-5:2020(E)
ISO/IEC 8825-5:2015 (E)

standardized, and conforming implementations of the mapping may choose any syntactic form (or a mixture of syntactic

forms) for the assignment of final XER encoding instructions.

NOTE – The choice among these options does not affect the final binary or XML encodings.

6.5 A formal specification of the required mapping is not provided.

6.6 This Recommendation | International Standard is concerned only with the mapping of XSD Schemas that

conform to W3C XML Schema.

NOTE – Such conformance can be either by the provision of one or more W3C XSD schema documents or by other means as

specified in W3C XML Schema.
7 Mapping XSD Schemas

7.1 A mapping is based on a source XSD Schema, which is a set of schema components (see W3C XML Schema

Part 1, 2.2). No particular representation of schema components or sets of schema components is required or assumed

for the mapping, although it is expected that the source XSD Schema will usually be provided as one or more XML

schema documents (see W3C XML Schema Part 1, 3.15.2).

NOTE 1 – The schema components represented in multiple XML schema documents become part of the same XSD Schema

through the use of the xsd:include, xsd:redefine, and xsd:import element information items.

NOTE 2 – Since the mapping is defined in terms of schema components (and not in terms of their XML representation), it is not

affected by details of the XML representation, such as the use of multiple schema documents linked by xsd:include and

xsd:redefine element information items, the placement of element information items in one or another schema documents, the

order of xsd:attribute element information items within a xsd:complexType element information item, and so on.

NOTE 3 – Two sets of schema documents that differ in many aspects but represent the same set of schema components generate

the same set of ASN.1 type assignments, with the same final encoding instructions assigned to them and to their components to

any depth.

7.2 The source XSD Schema shall meet all the constraints imposed by the XSD specification. If the source XSD

Schema is represented (in part or all) as a set of XML schema documents, each schema document shall be valid

according to the XSD Schema for Schemas (see W3C XML Schema Part 1, Appendix A).

7.3 One or more ASN.1 modules shall be generated for a source XSD Schema. The number of ASN.1 modules

generated is an implementation option. Each ASN.1 module shall contain zero or more type assignments corresponding

to top-level schema components (see 7.6), and zero or more special ASN.1 type assignments (see clauses 29, 30, and

31). The physical order of type assignments within each ASN.1 module is an implementation option. When multiple

ASN.1 modules are generated, the way the generated type assignments are distributed across those ASN.1 modules is

also an implementation option.

NOTE 1 – The inclusion in the same ASN.1 module of type assignments generated from XSD schema components with different

target namespaces is permitted by this subclause but not recommended. The preferred mapping is to generate one ASN.1 module

per namespace whenever possible. It is also recommended that each special ASN.1 type assignment be inserted in the same

ASN.1 module as its associated ASN.1 type assignment (see 29.5, 30.4, and 31.4).

NOTE 2 – The generation of ASN.1 type assignments (see 7.6 and 10.4) is not affected by the number of ASN.1 modules being

generated (except for the possible use of "ExternalTypeReference" as specified in 10.2.2), nor by the way the generated type

assignments are distributed across those modules, nor by the physical order of the type assignments within each module. In

particular, the type reference names of those type assignments are the same whatever mapping style is used by the

implementation.

NOTE 3 – A full description of the relationship between the namespace concept of W3C XML Namespaces and naming in

ASN.1 is provided in Rec. ITU-T X.693 | ISO/IEC 8825-4, clause 16. Type reference names and identifiers defined in an ASN.1

module are assigned a namespace by means of a NAMESPACE encoding instruction, and otherwise do not have a namespace. The

mapping generates NAMESPACE encoding instructions where needed.

7.4 All ASN.1 modules generated by the mapping shall contain (in the XER encoding control section) a GLOBAL-

DEFAULTS MODIFIED-ENCODINGS encoding instruction and a GLOBAL-DEFAULTS CONTROL-NAMESPACE encoding

instruction specifying the XSI namespace.
7.5 A source
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.