ISO/IEC DIS 8825-5
(Main)Information technology -- ASN.1 encoding rules
Information technology -- ASN.1 encoding rules
Technologies de l'information -- Règles de codage ASN.1
General Information
RELATIONS
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 AbbreviationsFor the purposes of this Recommendation | International Standard, the following abbreviations apply:
ASN.1 Abstract Syntax Notation OneBER (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); andc) 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; orb) 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.