Information technology — Generic applications of ASN.1: Fast infoset — Part 1:

ISO/IEC 24824-1:2007 specifies a representation of an instance of the W3C XML Information Set using binary encodings. These binary encodings are specified using the ASN.1 notation and the ASN.1 Encoding Control Notation (ECN). The technology specified in ISO/IEC 24824-1:2007 is called Fast Infoset. This technology provides an alternative to W3C XML syntax as a means of representing instances of the W3C XML Information Set. This representation generally provides smaller encoding sizes and faster processing than a W3C XML representation. ISO/IEC 24824-1:2007 specifies the use of several techniques that minimize the size of the encodings and that maximize the speed of creating and processing Fast Infoset documents. These techniques include the use of dynamic tables (for both character strings and qualified names), initial vocabularies and external vocabularies. ISO/IEC 24824-1:2007 also specifies a Multipurpose Internet Mail Extensions (MIME) media type that identifies a Fast Infoset document.

Technologies de l'information — Applications génériques de l'ASN.1: Infoset rapide — Partie 1:

L'ISO/CEI 24824-1:2007 spécifie une représentation d'une instance de l'ensemble d'informations XML W3C qui utilise des codages binaires. Ces codages binaires sont spécifiés à l'aide de la notation ASN.1 et de la notation de contrôle de codage ASN.1. La technologie spécifiée dans l'ISO/CEI 24824-1:2007 se nomme Fast Infoset. Elle fournit une alternative à la syntaxe XML W3C comme moyen de représenter les instances d'ensemble d'informations XML du W3C. Cette représentation donne habituellement des tailles de codage plus petites et un traitement plus rapide que la représentation XML du W3C. L'ISO/CEI 24824-1:2007 spécifie aussi des techniques qui minimisent la taille des documents Fast Infoset et maximisent la vitesse de création et de traitement des documents Fast Infoset. Ces techniques impliquent l'utilisation de tableaux de vocabulaire conceptuel avec un indice de tableau de vocabulaire transposant un ensemble de trois indices de tableaux de vocabulaire, identifiant un préfixe, un nom d'espace de nom, et un nom local. L'ISO/CEI 24824-1:2007 spécifie également un type de support d'extensions de messagerie Internet multiobjets (MIME) qui identifie un document Fast Infoset.

General Information

Status
Published
Publication Date
03-May-2007
Current Stage
9093 - International Standard confirmed
Start Date
06-Jan-2025
Completion Date
30-Oct-2025
Ref Project
Standard
ISO/IEC 24824-1:2007 - Information technology -- Generic applications of ASN.1: Fast infoset
English language
91 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
ISO/IEC 24824-1:2007 - Technologies de l'information -- Applications génériques de l'ASN.1: Infoset rapide
French language
91 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


INTERNATIONAL ISO/IEC
STANDARD 24824-1
First edition
2007-05-01
Information technology — Generic
applications of ASN.1: Fast Infoset
Technologies de l'information — Applications génériques de ASN.1:
Infoset rapide
Reference number
©
ISO/IEC 2007
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

CONTENTS
Page
1 Scope. 1

2 Normative references . 1
2.1 Identical Recommendations | International Standards. 2

2.2 Additional references. 2
3 Definitions . 3
3.1 ASN.1 terms . 3
3.2 ECN terms. 3
3.3 ISO/IEC 10646 terms. 3
3.4 Additional definitions . 3
4 Abbreviations . 4
5 Notation . 4
6 Principles of vocabulary table construction and use. 5
7 ASN.1 type definitions . 6
7.1 General . 6
7.2 The Document type . 6
7.3 The Element type . 11
7.4 The Attribute type . 12
7.5 The ProcessingInstruction type. 12
7.6 The UnexpandedEntityReference type. 13
7.7 The CharacterChunk type. 13
7.8 The Comment type . 14
7.9 The DocumentTypeDeclaration type. 14
7.10 The UnparsedEntity type. 15
7.11 The Notation type . 15
7.12 The NamespaceAttribute type. 16
7.13 The IdentifyingStringOrIndex type. 16
7.14 The NonIdentifyingStringOrIndex type . 17
7.15 The NameSurrogate type. 18
7.16 The QualifiedNameOrIndex type. 19
7.17 The EncodedCharacterString type. 20
8 Construction and processing of a fast infoset document. 21
8.1 Conceptual ordering of components of an abstract value of the Document type . 22
8.2 The restricted alphabet table. 22
8.3 The encoding algorithm table . 22
8.4 The dynamic string tables . 23
8.5 The dynamic name tables and name surrogates . 23
9 Built-in restricted alphabets . 24
9.1 The "numeric" restricted alphabet. 24
9.2 The "date and time" restricted alphabet. 24
10 Built-in encoding algorithms. 24
10.1 General . 24
10.2 The "hexadecimal" encoding algorithm . 25
10.3 The "base64" encoding algorithm. 25
10.4 The "short" encoding algorithm . 25
10.5 The "int" encoding algorithm. 26
10.6 The "long" encoding algorithm . 26
10.7 The "boolean" encoding algorithm. 26
10.8 The "float" encoding algorithm. 27
10.9 The "double" encoding algorithm . 27
10.10 The "uuid" encoding algorithm . 27
© ISO/IEC 2007 – All rights reserved iii

Page
10.11 The "cdata" encoding algorithm . 28

11 Restrictions on the supported XML infosets and other simplifications. 28
12 Bit-level encoding of the Document type. 29
Annex A – ASN.1 module and ECN modules for fast infoset documents . 31
A.1 ASN.1 module definition. 31
A.2 ECN module definitions . 33
Annex B – The MIME media type for fast infoset documents . 53
Annex C – Description of the encoding of a fast infoset document. 55
C.1 Fast infoset document . 55
C.2 Encoding of the Document type . 55
C.3 Encoding of the Element type . 57
C.4 Encoding of the Attribute type . 58
C.5 Encoding of the ProcessingInstruction type. 58
C.6 Encoding of the UnexpandedEntityReference type. 59
C.7 Encoding of the CharacterChunk type . 59
C.8 Encoding of the Comment type . 59
C.9 Encoding of the DocumentTypeDeclaration type. 59
C.10 Encoding of the UnparsedEntity type . 60
C.11 Encoding of the Notation type . 60
C.12 Encoding of the NamespaceAttribute type. 61
C.13 Encoding of the IdentifyingStringOrIndex type. 61
C.14 Encoding of the NonIdentifyingStringOrIndex type starting on the first bit of an
octet . 61
C.15 Encoding of the NonIdentifyingStringOrIndex type starting on the third bit of an
octet . 62
C.16 Encoding of the NameSurrogate type . 62
C.17 Encoding of the QualifiedNameOrIndex type starting on the second bit of an octet . 62
C.18 Encoding of the QualifiedNameOrIndex type starting on the third bit of an octet . 63
C.19 Encoding of the EncodedCharacterString type starting on the third bit of an octet . 63
C.20 Encoding of the EncodedCharacterString type starting on the fifth bit of an octet. 64
C.21 Encoding of the length of a sequence-of type. 64
C.22 Encoding of the NonEmptyOctetString type starting on the second bit of an octet . 64
C.23 Encoding of the NonEmptyOctetString starting on the fifth bit of an octet . 65
C.24 Encoding of the NonEmptyOctetString type starting on the seventh bit of an octet . 65
C.25 Encoding of integers in the range 1 to 2 starting on the second bit of an octet. 65
C.26 Encoding of integers in the range 0 to 2 starting on the second bit of an octet. 66
C.27 Encoding of integers in the range 1 to 2 starting on the third bit of an octet . 66
C.28 Encoding of integers in the range 1 to 2 starting on the fourth bit of an octet. 66
C.29 Encoding of integers in the range 1 to 256. 67
Annex D – Examples of encoding XML infosets as fast infoset documents . 68
D.1 Introduction of examples . 68
D.2 Size of example documents (including redundancy-based compression). 68
D.3 UBL order example . 69
D.4 UBL Order fast infoset document with an external vocabulary. 71
D.5 UBL order fast infoset document without an initial vocabulary . 79
Annex E – Assignment of object identifier values. 90
BIBLIOGRAPHY. 91

iv © ISO/IEC 2007 – All rights reserved

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.
ISO/IEC 24824-1 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.891.
ISO/IEC 24824 consists of the following parts, under the general title Information technology — Generic
applications of ASN.1:
— Part 1: Fast infoset
— Part 2: Fast Web Services
The following part is under preparation:
— Part 3: Fast infoset security

© ISO/IEC 2007 – All rights reserved v

Introduction
This Recommendation | International Standard specifies a representation of an instance of the W3C XML Information

Set using binary encodings (specified using the ASN.1 notation and the ASN.1 Encoding Control Notation). The
encoding specified in this edition of this Recommendation | International Standard is identified by the version number 1
(see 12.9).
The technology specified in this Recommendation | International Standard is named Fast Infoset. It provides an
alternative to W3C XML syntax as a means of representing instances of the W3C XML Information Set. This
representation generally provides smaller encoding sizes and faster processing than a W3C XML representation.
The representation of an instance of the W3C XML Information Set specified in this Recommendation | International
Standard is called a fast infoset document. Each fast infoset document is an encoding of an abstract value of an ASN.1
data type (the Document type – see 7.2) representing an instance of the W3C XML Information Set.
This Recommendation | International Standard specifies the use of several techniques that minimize the size of a fast
infoset document and that maximize the speed of creating and processing such documents.
These techniques are based on the use of vocabulary tables, which allow typically-small integer values (vocabulary
table indexes) to be used instead of character strings that form (for example) the names of elements or attributes in an
XML 1.0 serialization of an instance of the W3C XML Information Set.
There are a number of vocabulary tables (see clause 8), of which the most basic (the eight character string tables) map
typically-small integers to strings of characters. There are, however, also vocabulary tables (the element name table and
the attribute name table) that provide a further level of indirection, with a vocabulary table index mapping to a set of
three vocabulary table indexes, identifying a prefix, a namespace name, and a local name.
Another important technique is the use of a restricted alphabet vocabulary table. This contains entries that list a subset
of ISO/IEC 10646 characters. If a character string needs to be encoded for which there is an entry in this table, then it
can be encoded by identifying that this vocabulary table is being used, giving the vocabulary table index, and then
encoding each character in the minimum number of bits needed for that particular subset of ISO/IEC 10646 characters.
There are a number of built-in restricted alphabets that always form the first few entries of this table, covering such
commonly occurring strings as dates and times, and numeric values.
A further important optimization uses the encoding algorithm vocabulary table. This table identifies specialized
encodings that can be employed for commonly occurring strings, again with a number of built-in algorithms. For
example, if there is a string which looks like the decimal representation of an integer in the range –32768 to 32767, then
that string can be encoded by identifying that this vocabulary table is being used, giving the vocabulary table index, and
then encoding the integer as a two-octet signed integer. Floating-point numbers and arrays of such numbers are
supported in the same way.
In order to ensure fast processing without sacrificing compactness, many components of a fast infoset document (such
as character strings and components representing information items of the XML infoset) are octet-aligned, while other
components (such as lengths and vocabulary table indexes) are not necessarily octet-aligned but always end on the last
bit of an octet. To provide a formal specification of these optimized encodings, the ASN.1 Encoding Control Notation
(defined in ITU-T Rec. X.692 | ISO/IEC 8825-3) is used (see A.2), but use of ECN tools for implementation is not
necessary and a complete description of the encoding is provided (see Annex C).
The vocabulary tables for a particular fast infoset document can be initialized by information at the head of the
document, and are normally added to dynamically, providing flexibility for an encoder. The initial vocabulary tables
can be provided by a reference to the set of final vocabulary tables of some other identified fast infoset document (or by
other means). This vocabulary reference can then be supplemented by further table additions to provide the initial
vocabulary tables for this document. Further dynamic additions are normally made to the tables during the creation or
the processing of the document.
Finally, a mechanism is provided for the generator of a fast infoset document to include data (called additional
processing data) related to optional additional processing of the fast infoset document, together with a URI that
identifies a complete specification of the form and semantics of that additional processing data. The optional additional
processing data is ignored by any subsequent processor of the fast infoset document if the URI is not known, or the
processing that it specifies is not supported or not required.
NOTE – An example of such additional processing data would be data that provides indexes that enable immediate access to
parts of the fast infoset document, so that the whole document need not be processed if the only interest is in those parts of the
fast infoset document that correspond to a specific XML tag.
Annex A forms an integral part of this Recommendation | International Standard, and contains an ASN.1 module (see
ITU-T Rec. X.680 | ISO/IEC 8824-1) and two ECN modules (EDM and ELM – see ITU-T Rec. X.692 |
ISO/IEC 8825-3) which together specify the abstract content and the bit-level encoding of a value of the Document
type, which conveys the value of an instance of the W3C XML Information Set.
vi © ISO/IEC 2007 – All rights reserved

Annex B forms an integral part of this Recommendation | International Standard, and contains the specification of a

MIME media type identifying a fast infoset document.

Annex C does not form an integral part of this Recommendation | International Standard, and provides a complete
description of the encodings formally specified in clause 12 and A.2.
Annex D does not form an integral part of this Recommendation | International Standard, and provides examples of fast
infoset documents generated from some XML documents. Annex D also gives the size of the XML representation and
the Fast Infoset representation of these examples.
© ISO/IEC 2007 – All rights reserved vii

ISO/IEC 24824-1:2007 (E)
INTERNATIONAL STANDARD
ITU-T RECOMMENDATION
Information technology – Generic applications of ASN.1: Fast infoset
1 Scope
This Recommendation | International Standard specifies an ASN.1 type (see ITU-T Rec. X.680 | ISO/IEC 8824-1)
whose abstract values represent instances of the W3C XML Information Set. It also specifies binary encodings for those
values, using ASN.1 Encoding Control Notation (see ITU-T Rec. X.692 | ISO/IEC 8825-3).
NOTE – These encodings are called fast infoset documents.
This Recommendation | International Standard also specifies techniques that:
– minimize the size of fast infoset documents;
– maximize the speed of creating and processing fast infoset documents;
– allow the specification (by the generator of a fast infoset document) of additional processing data.
The first two techniques involve the use of conceptual vocabulary tables. The set of vocabulary tables and the nature of
their entries is fully defined in this Recommendation | International Standard, but their representation in computer
memory is outside the scope of this Recommendation | International Standard. Provision for transfer or storage of, or a
formal notation for displaying or specifying, vocabulary tables to be used as an external vocabulary is also outside the
scope of this Recommendation | International Standard.
The third technique involves the provision of additional processing data and a URI that identifies the form and
semantics of that data. The specification of specific forms of additional processing data and their use is outside the
scope of this Recommendation | International Standard.
URIs can be used to identify final vocabularies that can be used as either part or all of some new initial vocabulary, but
the assignment of specific URIs to specific final vocabularies is outside the scope of this Recommendation |
International Standard.
This Recommendation | International Standard specifies built-in restricted alphabets, the addition to vocabulary tables
of further restricted alphabets by enumeration, and the use of these vocabulary tables for efficient encoding of character
strings.
This Recommendation | International Standard further specifies built-in encoding algorithms for the optimum encoding
of certain character strings, and the addition to vocabulary tables of further encoding algorithms identified by URIs, but
the definition of these further encoding algorithms and their associated URIs is outside the scope of this
Recommendation | International Standard.
In addition, this Recommendation | International Standard specifies a Multipurpose Internet Mail Extensions (MIME)
media type that identifies a fast infoset document.
2 Normative references
The following Recommendations, International Standards and other references 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 other references 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
other references listed below. The Telecommunication Standardization Bureau of the ITU maintains a list of currently
valid ITU-T Recommendations. Members of IEC and ISO maintain registers of currently valid International Standards.
The IETF maintains a list of RFCs, together with those that have been obsoleted by later RFCs. The W3C maintains a
list of currently valid W3C Recommendations. 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.
ITU-T Rec. X.891 (05/2005) 1
ISO/IEC 24824-1:2007 (E)
2.1 Identical Recommendations | International Standards
– ITU-T Recommendation X.667 (2004) | ISO/IEC 9834-8:2005, Information technology – Open Systems
Interconnection – Procedures for the operation of OSI Registration Authorities: Generation and
registration of Universally Unique Identifiers (UUIDs) and their use as ASN.1 Object Identifier
components.
– ITU-T Recommendation X.680 (2002) | ISO/IEC 8824-1:2002, Information technology – Abstract
Syntax Notation One (ASN.1): Specification of basic notation.
– ITU-T Recommendation X.681 (2002) | ISO/IEC 8824-2:2002, Information technology – Abstract
Syntax Notation One (ASN.1): Information object specification. †
– ITU-T Recommendation X.682 (2002) | ISO/IEC 8824-3:2002, Information technology – Abstract
Syntax Notation One (ASN.1): Constraint specification. †
– ITU-T Recommendation X.683 (2002) | ISO/IEC 8824-4:2002, Information technology – Abstract
Syntax Notation One (ASN.1): Parameterization of ASN.1 specifications. †
– ITU-T Recommendation X.690 (2002) | ISO/IEC 8825-1:2002, Information technology – ASN.1
encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and
Distinguished Encoding Rules (DER). †
– ITU-T Recommendation X.691 (2002) | ISO/IEC 8825-2:2002, Information technology – ASN.1
encoding rules: Specification of Packed Encoding Rules (PER). †
– ITU-T Recommendation X.692 (2002) | ISO/IEC 8825-3:2002, Information technology – ASN.1
encoding rules: Specification of Encoding Control Notation (ECN).
– ITU-T Recommendation X.693 (2001) | ISO/IEC 8825-4:2002, Information technology – ASN.1
encoding rules: XML Encoding Rules (XER). †
NOTE – The complete set of ASN.1 Recommendations | International Standards are listed above, 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.
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).
– The Unicode Standard, Version 4.0, The Unicode Consortium (Reading, MA, Addison-Wesley).
NOTE 1 – The graphics characters (and their encodings) defined by Unicode are identical to those defined by
ISO/IEC 10646-1, but Unicode is included as a reference because it also specifies the names of control
characters and defines the abbreviation UTF-16BE.
– W3C XML 1.0:2004, Extensible Markup Language (XML) 1.0 (Third Edition), W3C Recommendation,
Copyright © [4 February 2004] 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-20040204/.
– W3C XML 1.1:2004, Extensible Markup Language (XML) 1.1, W3C Recommendation, Copyright © [4
February 2004] 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-
xml11-20040204/.
NOTE 2 – References to both W3C XML 1.0 and W3C XML 1.1 are included as neither is a subset of the other.
These references are used solely in 3.4.10.
– W3C XML Information Set:2004, XML Information Set (Second Edition), W3C Recommendation,
Copyright © [04 February 2004] World Wide Web Consortium (Massachusetts Institute of Technology,
Institut National de Recherche en Informatique et en Automatique, Keio University),
http://www.w3.org/TR/2004/REC-xml-infoset-20040204/.
– W3C XML Namespaces 1.0: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-xm-
lnames-19990114/.
– W3C XML Namespaces 1.1:2004, Namespaces in XML 1.1, W3C Recommendation, Copyright © [4
February 2004] World Wide Web Consortium (Massachusetts Institute of Technology, Institut National
de Recherche en Informatique et en Automatique, Keio University), http://www.w3.org/TR/2004/REC-
xm-l-names11-20040204/.
2 ITU-T Rec. X.891 (05/2005)
ISO/IEC 24824-1:2007 (E)
NOTE 3 – References to both W3C XML Namespaces 1.0 and W3C XML Namespaces 1.1 are included as
neither is a subset of the other. These references are used solely in 3.4.10.
– IETF RFC 2045 (1996), Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet
Message Bodies.
– IETF RFC 2396 (1998), Uniform Resource Identifiers (URI): Generic Syntax.
– IEEE 754-1985, IEEE Standard for Binary Floating-Point Arithmetic.
3 Definitions
For the purposes of this Recommendation | International Standard, the following definitions apply.
3.1 ASN.1 terms
This Recommendation | International Standard uses the following terms defined in ITU-T Rec. X.680 |
ISO/IEC 8824-1:
a) choice type;
b) sequence type;
c) sequence-of type.
3.2 ECN terms
This Recommendation | International Standard uses the following terms defined in ITU-T Rec. X.692 |
ISO/IEC 8825-3:
a) Encoding Definition Modules (EDM);
b) Encoding Link Module (ELM).
3.3 ISO/IEC 10646 terms
This Recommendation | International Standard uses the following term defined in ISO/IEC 10646:
a) Basic Multilingual Plane.
3.4 Additional definitions
3.4.1 Base64: An encoding mechanism that represents an octet string value as a character string using a restricted
alphabet of 65 characters (see 10.3 and IETF RFC 2045).
3.4.2 character string: A string of ISO/IEC 10646 abstract characters, without any implication on the way they are
encoded.
3.4.3 encoding algorithm: A precise specification of how to efficiently encode a character string with specified
characteristics into octets.
NOTE – An example is the encoding of a string such as "-32176" into a two's complement binary integer in two octets. The
two-octet encoding would be accompanied by a vocabulary table index identifying this encoding algorithm.
3.4.4 external vocabulary: A set of vocabulary tables referenced by a URI (see 7.2.14).
3.4.5 fast infoset document: An XML infoset represented as specified in this Recommendation | International
Standard.
3.4.6 final vocabulary: The content of the vocabulary tables at the end of the creation or of the processing of a fast
infoset document.
3.4.7 information item: Each of the kinds of items that constitute an XML infoset.
3.4.8 initial vocabulary: The set of vocabulary tables established by information at the head of a fast infoset
document that optionally references an external vocabulary and optionally provides additional table entries.
3.4.9 name surrogate: A set of three vocabulary table indexes (the first two optional) that are used to represent a
qualified name (see 3.4.11).
ITU-T Rec. X.891 (05/2005) 3
ISO/IEC 24824-1:2007 (E)
3.4.10 namespace-well-formed XML document: Either a W3C XML 1.0 document that is well-formed according
to W3C XML Namespaces 1.0, or a W3C XML 1.1 document that is well-formed according to W3C XML
Namespaces 1.1.
3.4.11 qualified name: The set consisting of the [prefix], [namespace name], and [local name] properties of an element
information item or attribute information item.
3.4.12 restricted alphabet: An ordered set of distinct ISO/IEC 10646 characters, which permits a compact encoding
of any character string that consists entirely of characters from that set.
3.4.13 vocabulary table index: A positive integer value identifying an entry in a vocabulary table.
3.4.14 vocabulary tables: A set of conceptual tables (typically, but not necessarily, dynamically constructed)
associated with a fast infoset document, which contain character strings or other information, and support the use of
typically-small positive integer values (vocabulary table indexes) identifying their entries.
NOTE – Examples of vocabulary tables are those containing character strings that are the [local name] property of attribute or
element information items, or character strings corresponding to sequences of character information items that are members of the
[children] property of element information items.
3.4.15 XML declaration: The UTF-8 encoding of a specified character string (see also 12.3) that may be included at
the beginning of a fast infoset document to identify the encoding as a fast infoset document and to distinguish it from a
W3C XML 1.0 or W3C XML 1.1 document.
3.4.16 XML infoset: An abstract data set describing the information in a namespace-well-formed XML document,
as specified in W3C XML Information Set.
3.4.17 XML whitespace: One or more of the characters HORIZONTAL TABULATION (9), LINE FEED (10),
CARRIAGE RETURN (13), or SPACE (32) of Unicode.
NOTE – These characters are those that match the production "S" in both W3C XML 1.0 and W3C XML 1.1 (see W3C
XML 1.0, 2.3 and W3C XML 1.1, 2.3). The characters NEXT LINE (133) and LINE SEPARATOR (8232), which may occur in
a namespace-well-formed W3C XML 1.1 document (see W3C XML 1.1, 2.11), are converted to LINE FEED characters by end-
of-line handling (see W3C XML 1.1, 2.11). If those characters occur in an XML infoset generated from a namespace-well-
formed W3C XML 1.1 document, they are not XML whitespace.
4 Abbreviations
For the purposes of this Recommendation | International Standard, the following abbreviations apply:
ASN.1 Abstract Syntax Notation One
BMP Basic Multilingual Plane
ECN Encoding Control Notation
MIME Multipurpose Internet Mail Extensions
UBL Universal Business Language
URI  Uniform Resource Identifier
UTF-8 Universal Transformation Function 8-bit (see ISO/IEC 10646, Annex D)
UTF-16BE Universal Transformation Function 16-bit Big Endian (see Unicode, 2.6)
UUID Universally Unique Identifier
XML eXtensible Markup Language
5 Notation
5.1 This Recommendation | International Standard uses the ASN.1 notation defined by ITU-T Rec. X.680 |
ISO/IEC 8824-1 for the formal definition of data types whose encodings are fast infoset documents.
NOTE – Clause 12 specifies the application of ITU-T Rec. X.692 | ISO/IEC 8825-3 to the ASN.1 type definitions, providing the
bit-level encoding of a fast infoset document.
5.2 In this Recommendation | International Standard, bold Courier is used for ASN.1 notation and bold Arial is
used for W3C XML syntax and for the names of information items of the XML Information Set.
5.3 The names of information items' properties are in bold Arial and enclosed between square brackets (for
example, [children]).
4 ITU-T Rec. X.891 (05/2005)
ISO/IEC 24824-1:2007 (E)
5.4 The names of categories of character strings (see 8.4.2) and the names of categories of qualified names
(see 8.5.4) are in UPPERCASE.
5.5 In this Recommendation | International Standard, bit positions within an octet are specified using the
terminology first bit, second bit, etc., to eighth bit, where the first bit is the most significant bit of the octet, and the
eighth bit is least significant bit of the octet.
6 Principles of vocabulary table construction and use
6.1 Vocabulary tables are conceptual tables mapping a vocabulary table index into a vocabulary table entry.
NOTE – The representation of vocabulary tables in computer memory is not defined, nor is the means by which an
implementation maps a vocabulary table index into a vocabulary table entry for that table.
6.2 The creator of a fast infoset document from an XML infoset determines the contents of the vocabulary tables.
6.3 In the most general case, the head of a fast infoset document can reference a set of vocabulary tables (an
external vocabulary), followed by the specification of additions to those vocabulary tables to form the initial vocabulary
for this fast infoset document. Further additions to the vocabulary tables occur during the creation and during the
processing of a fast infoset document, so that they incrementally grow to form the final vocabulary tables for that
document.
6.4 Some vocabulary tables incrementally grow from an initial vocabulary to a final vocabulary during the
creation and during the processing of a fast infoset document, and therefore have the word "dynamic" in the name of the
vocabulary table. There are no mechanisms for entries to be removed from any table.
6.5 Vocabulary table indexes are implicitly assigned. The first entry to any vocabulary table has a vocabulary
table index of one, and each subsequent entry to that table has the next higher integer value for the vocabulary table
index. Where this Recommendation | International Standard specifies that something is to be added to a vocabulary
table, this implies that the next available vocabulary table index shall be assigned.
NOTE – Vocabulary table indexes start at one and not zero because the value zero (when permitted) has the special meaning of
"empty character string" in a field that might otherwise hold a vocabulary table index.
6.6 In order to support this implicit assignment of vocabulary table indexes, the conceptual order of processing
the components (at any depth) of a fast infoset document is fully-defined (see 8.1).
NOTE – This order is the same as the order of the encodings of the components in a fast infoset document. It does not necessarily
imply that the semantics carried by the document is processed in this order. The order is defined solely for the purposes of
ensuring that the same vocabulary table index is assigned for any given vocabulary table entry by both the creator and the
processor of a fast infoset document.
6.7 Vocabulary tables are used for many purposes (see clause 8), but their primary function is to enable the use of
a vocabulary table index instead of a vocabulary table entry, where such indexes are smaller (and may be faster to
process) than the table entry. A number of built-in entries for some vocabulary tables are specified in clause 9. These
entries are always implicitly present in these vocabulary tables, with the vocabulary table indexes specified in clause 9.
6.8 For some categories of character string, the creator of a fast infoset document has the option of adding or not
adding a string to a vocabulary table, depending on the expected (or known) number of occurrences of that character
string in the XML infoset.
6.9 The precise form and meaning of vocabulary table entries is specified in clause 8, but they are in most cases
variable length character strings, often short, but potentially as large as 2 octets.
6.10 A conforming creator of a fast infoset document is required to do all the additions to the vocabulary tables as
specified in 7.13.7, 7.14.6, 7.14.7, and 7.16.7. This ensures that the number of vocabulary table entries in each
vocabulary table never exceeds 2 .
NOTE – A vocabulary table entry may equal one or more other vocabulary table entries. This is in order to allow efficient
creation of fast infoset documents. However, duplicate entries will decrease the efficiency of transfer. A processor is not affected
by duplicate entries.
6.11 A conforming processor of a fast infoset document is required to do all the additions to the vocabulary tables
as specified in 7.13.8, 7.14.11, and 7.16.8. This ensures that the restriction of 6.10 a has not been violated.
ITU-T Rec. X.891 (05/2005) 5
ISO/IEC 24824-1:2007 (E)
7 ASN.1 type definitions
7.1 General
7.1.1 This Recommendation | International Standard specifies a set of ASN.1 types supporting a representation of
the XML Information Set. The root type of this set of types is the Document type.
7.1.2 Some restrictions are imposed on the content of the XML infosets and some simplifications are made in the
representation (see clause 11) in order to improve the usability of the specification and the efficiency of the encodings
produced with it.
NOTE – An XML infoset that does not meet those restrictions cannot be represented as a fast infoset document, nor can it
normally be represented as a namespace-well-formed XML document.
7.1.3 For each kind of information item specified in W3C XML Information Set, a corresponding ASN.1 type
definition is provided in this Recommendation | International Standard. This type definition is always a sequence type,
with components corresponding to the properties of the information item.
7.1.4 Certain properties of information items are not included in the ASN.1 type definitions (see 11.4).
7.1.5 In some cases, the value of a property that is not included in the ASN.1 type definitions can be determined
from the value of other properties of the same or other information items that are included. In these cases, the omission
of that property simplifies the representation with no loss of information. There are, however, a few cases in which the
value of a property that is not included cannot be determined from other properties. In all such cases, the omission of
that property is a simplification that does not limit the utility of the specification for most practical use cases.
7.1.6 Clause 12 specifies the encoding of the Document type.
7.2 The Document type
7.2.1 The Document type is:
Document ::= SEQUENCE {
additional-data     SEQUENCE (SIZE(1.one-meg)) OF
additional-datum SEQUENCE {
id          URI,
data         NonEmptyOctetString } OPTIONAL,
initial-vocabulary   SEQUENCE {
external-vocabulary    URI OPT
...


NORME ISO/CEI
INTERNATIONALE 24824-1
Première édition
2007-05-01
Technologies de l'information —
Applications génériques de l'ASN.1:
Infoset rapide
Information technology — Generic applications of ASN.1: Fast infoset

Numéro de référence
ISO/CEI 24824-1:2007(F)
©
ISO/CEI 2007
ISO/CEI 24824-1: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

ISO/CEI 24824-1:2007(F)
TABLE DES MATIÈRES
Page
1 Domaine d'application . 1
2 Références normatives. 1
2.1 Recommandations | Normes internationales identiques. 2

2.2 Références supplémentaires . 2
3 Définitions . 3
3.1 Termes ASN.1. 3
3.2 Termes ECN . 3
3.3 Termes de l'ISO/CEI 10646. 3
3.4 Définitions supplémentaires . 3
4 Abréviations. 4
5 Notation . 5
6 Principes de construction et d'utilisation des tableaux de vocabulaire. 5
7 Définitions de type ASN.1. 6
7.1 Généralités. 6
7.2 Le type Document . 6
7.3 Le type Element . 11
7.4 Le type Attribute . 12
7.5 Le type ProcessingInstruction . 13
7.6 Le type UnexpandedEntityReference . 13
7.7 Le type CharacterChunk . 14
7.8 Le type Comment . 14
7.9 Le type DocumentTypeDeclaration. 15
7.10 Le type UnparsedEntity . 15
7.11 Le type Notation . 16
7.12 Le type NamespaceAttribute. 16
7.13 Le type IdentifyingStringOrIndex. 17
7.14 Le type NonIdentifyingStringOrIndex . 18
7.15 Le type NameSurrogate . 19
7.16 Le type QualifiedNameOrIndex . 19
7.17 Le type EncodedCharacterString. 21
8 Construction et traitement d'un document Fast Infoset . 22
8.1 Rangement conceptuel des composants d'une valeur abstraite du type Document . 22
8.2 Tableau d'alphabet restreint. 23
8.3 Tableau d'algorithme de codage . 23
8.4 Tableaux de chaîne dynamiques. 24
8.5 Les tableaux de nom dynamiques et les substituts de nom . 24
9 Alphabets restreints prédéfinis . 25
9.1 L'alphabet restreint "numérique" . 25
9.2 L'alphabet restreint "date et heure" . 25
10 Algorithmes de codage prédéfinis . 26
10.1 Généralités. 26
10.2 L'algorithme de codage "hexadécimal". 26
10.3 L'algorithme de codage "base64". 26
10.4 L'algorithme de codage "court". 26
10.5 L'algorithme de codage "int" . 27
10.6 L'algorithme de codage "long". 27
10.7 L'algorithme de codage "booléen" . 28
10.8 L'algorithme de codage "float". 28
10.9 L'algorithme de codage "double". 28
10.10 L'algorithme de codage "uuid". 29
© ISO/CEI 2007 – Tous droits réservés iii

ISO/CEI 24824-1:2007(F)
Page
10.11 L'algorithme de codage "cdata". 29
11 Restrictions sur les infosets XML pris en charge et autres simplifications . 29
12 Codage de niveau binaire du type Document. 30
Annexe A – Module ASN.1 et modules ECN pour documents Fast Infoset. 32
A.1 Définition du module ASN.1. 32
A.2 Définitions de modules ECN . 34
Annexe B – Type de support MIME pour documents Fast Infoset. 54
Annexe C – Description du codage d'un document Fast Infoset . 56
C.1 Document Fast Infoset . 56
C.2 Codage du type Document. 56
C.3 Codage du type Element . 58
C.4 Codage du type Attribute. 59
C.5 Codage du type ProcessingInstruction. 59
C.6 Codage du type UnexpandedEntityReference . 60
C.7 Codage du type CharacterChunk. 60
C.8 Codage du type Comment . 60
C.9 Codage du type DocumentTypeDeclaration . 60
C.10 Codage du type UnparsedEntity. 61
C.11 Codage du type Notation. 61
C.12 Codage du type NamespaceAttribute . 62
C.13 Codage du type IdentifyingStringOrIndex . 62
C.14 Codage du type NonIdentifyingStringOrIndex commençant sur le premier bit d'un
octet . 62
C.15 Codage du type NonIdentifyingStringOrIndex commençant au troisième bit
d'un octet. 63
C.16 Codage du type NameSurrogate . 63
C.17 Codage du type QualifiedNameOrIndex commençant sur le second bit d'un octet . 63
C.18 Codage du type QualifiedNameOrIndex commençant sur le troisième bit d'un octet . 64
C.19 Codage du type EncodedCharacterString commençant sur le troisième bit d'un octet . 64
C.20 Codage du type EncodedCharacterString commençant sur le cinquième bit d'un octet. 65
C.21 Codage de la longueur d'un type sequence-of. 65
C.22 Codage du type NonEmptyOctetString commençant sur le second bit d'un octet . 65
C.23 Codage de la chaîne NonEmptyOctetString commençant sur le cinquième bit d'un octet. 66
C.24 Codage du type NonEmptyOctetString commençant sur le septième bit d'un octet. 66
C.25 Codage des entiers dans la gamme 1 à 2 commençant sur le second bit d'un octet . 66
C.26 Codage des entiers dans la gamme 0 à 2 commençant sur le second bit d'un octet . 67
C.27 Codage des entiers dans la gamme 1 à 2 commençant sur le troisième bit d'un octet. 67
C.28 Codage des entiers dans la gamme 1 à 2 commençant sur le quatrième bit d'un octet. 67
C.29 Codage des entiers dans la gamme 1 à 256 . 68
Annexe D – Exemples de codage d'infosets XML comme documents Fast Infoset . 69
D.1 Introduction des exemples. 69
D.2 Taille des documents exemples (y compris la compression fondée sur la redondance). 69
D.3 Exemple d'ordre UBL . 70
D.4 Document Fast Infoset en ordre UBL avec vocabulaire externe . 72
D.5 Document Fast Infoset en ordre UBL sans vocabulaire initial . 79
Annexe E – Allocation des valeurs d'identifiant d'objet. 90
BIBLIOGRAPHIE . 91

iv © ISO/CEI 2007 – Tous droits réservés

ISO/CEI 24824-1: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'ISO/CEI 24824-1 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.891.
L'ISO/CEI 24824-1 comprend les parties suivantes, présentées sous le titre général Technologies de
l'information — Applications génériques de l'ASN.1:
⎯ Partie 1: Infoset rapide
⎯ Partie 2: Services web rapides
La partie suivante est en cours d’élaboration:
⎯ Partie 3: Sécurité d'Infoset rapide

© ISO/CEI 2007 – Tous droits réservés v

ISO/CEI 24824-1:2007(F)
Introduction
La présente Recommandation | Norme internationale spécifie une représentation d'une instance de l'ensemble
d'informations XML W3C qui utilise des codages binaires (spécifiés à l'aide de la notation ASN.1 et de la notation de
contrôle de codage ASN.1). Le codage spécifié dans l'édition de la présente Recommandation | Norme internationale est
identifié par le numéro de version 1 (voir le § 12.9).

La technologie spécifiée dans la présente Recommandation | Norme internationale se nomme Fast Infoset. Elle fournit
une alternative à la syntaxe XML W3C comme moyen de représenter les instances d'ensemble d'informations XML du
W3C. Cette représentation donne habituellement des tailles de codage plus petites et un traitement plus rapide que la
représentation XML du W3C.
La représentation d'une instance de l'ensemble d'informations XML W3C spécifiée dans la présente Recommandation |
Norme internationale s'appelle un document Fast Infoset. Chaque document Fast Infoset est un codage d'une valeur
abstraite d'un type de données ASN.1 (le type Document – voir le § 7.2) représentant une instance de l'ensemble
d'informations XML W3C.
La présente Recommandation | Norme internationale spécifie l'utilisation de plusieurs techniques qui minimisent la
taille d'un document Fast Infoset et qui maximisent la vitesse de création et de traitement de tels documents.
Ces techniques sont fondées sur l'emploi de tableaux de vocabulaire, qui permettent d'utiliser des valeurs entières
normalement faibles (les indices de tableaux de vocabulaire) à la place des chaînes de caractères qui forment (par
exemple) les noms des éléments ou attributs dans une mise en série XML 1.0 d'une instance de l'ensemble
d'informations XML W3C.
Il y a de nombreux tableaux de vocabulaire (voir le paragraphe 8), dont les plus fondamentaux (les tableaux de chaînes
de huit caractères) transposent des entiers normalement petits en chaînes de caractères. Il y a cependant aussi des
tableaux de vocabulaire (le tableau des noms d'éléments et le tableau des noms d'attributs) qui donnent un niveau
d'indication supplémentaire, avec un indice de tableau de vocabulaire transposant un ensemble de trois indices de
tableaux de vocabulaire, identifiant un préfixe, un nom d'espace de nom, et un nom local.
Une autre technique importante est l'utilisation d'un tableau de vocabulaire à alphabet restreint. Il contient des entrées
qui font la liste d'un sous-ensemble de caractères ISO/CEI 10646. Si une chaîne de caractères qui doit être codée
possède une entrée dans ce tableau, elle peut alors être codée en notant qu'on utilise ce tableau de vocabulaire, en
donnant l'indice du tableau de vocabulaire, et en codant alors chaque caractère avec le nombre minimal de bits
nécessaires pour ce sous-ensemble particulier de caractères ISO/CEI 10646. Il y a un certain nombre d'alphabets
restreints préconstruits qui forment toujours les premières entrées de ce tableau, couvrant les chaînes qu'on rencontre de
façon usuelle comme les dates, les heures et les valeurs numériques.
Une importante technique d'optimisation utilise le tableau de vocabulaire d'algorithme de codage. Ce tableau identifie
les codages spécialisés qui peuvent être employés pour les chaînes d'utilisation courante, toujours avec un certain
nombre d'algorithmes incorporés. Par exemple, s'il y a une chaîne qui ressemble à la représentation décimale d'un entier
dans la gamme de –32 768 à 32 767, cette chaîne peut alors être codée en précisant qu'on utilise ce tableau de
vocabulaire, en donnant l'indice du tableau de vocabulaire, puis en codant l'entier comme entier algébrique de deux
octets. Les nombres et matrices à virgule flottante, de tels nombres sont pris en charge de la même façon.
Pour assurer un traitement rapide sans sacrifier la concision, de nombreux composants d'un document Fast Infoset
(comme les chaînes de caractères et les composants représentant des éléments d'information de l'infoset XML) sont
calés à l'octet, alors que d'autres composants (comme les longueurs et les indices de tableaux de vocabulaire) ne sont
pas nécessairement calés à l'octet mais se terminent toujours sur le dernier bit d'un octet. La notation de contrôle de
codage ASN.1 (définie dans la Rec. UIT-T X.692 | ISO/CEI 8825-3) est utilisée pour fournir une spécification formelle
de ces codages optimisés (voir le § A.2), mais l'utilisation d'outils ECN pour les implémentations n'est pas nécessaire et
une description complète du codage est donnée à l'Annexe C.
Les tableaux de vocabulaire pour un document Fast Infoset particulier peuvent être initialisés par des informations en
tête du document, et y sont habituellement ajoutés de façon dynamique, pour donner de la souplesse au codage. Les
tableaux de vocabulaire initiaux peuvent être fournis par une référence à l'ensemble de tableaux de vocabulaire finaux
d'autres documents Fast Infoset identifiés (ou par d'autres moyens). Cette référence de vocabulaire peut alors être
complétée par d'autres ajouts de tableaux pour fournir les tableaux de vocabulaire initiaux pour ce document. D'autres
ajouts dynamiques ultérieurs sont normalement faits aux tableaux durant la création ou le traitement du document.
Finalement, il est fourni un mécanisme de génération d'un document Fast Infoset qui inclut des données (appelées
données de traitement supplémentaire) qui se rapportent au traitement supplémentaire facultatif du document Fast
Infoset, lié à un URI qui identifie une spécification complète de la forme et de la sémantique des données de traitement
supplémentaire. Les données de traitement supplémentaire facultatif sont ignorées par les traitements ultérieurs du
document Fast Infoset si l'URI n'est pas connu, ou si le traitement qu'elles spécifient n'est pas accepté ou pas utile.
vi © ISO/CEI 2007 – Tous droits réservés

ISO/CEI 24824-1:2007(F)
NOTE – Un exemple de telles données de traitement supplémentaire serait celui de données fournissant des indices permettant un
accès immédiat à des parties du document Fast Infoset, de sorte que le document tout entier n'ait pas besoin d'être traité si son
seul intérêt réside dans les parties du document Fast Infoset qui correspondent à une étiquette XML spécifique.
L'Annexe A fait partie intégrante de la présente Recommandation | Norme internationale, et contient un module ASN.1
(voir la Rec. UIT-T X.680 | ISO/CEI 8824-1) et deux modules ECN (EDM et ELM – voir la Rec. UIT-T X.692 |
ISO/CEI 8825-3) qui spécifient conjointement le contenu abstrait et le codage de niveau binaire d'une valeur du type
Document, qui porte la valeur d'une instance de l'ensemble d'informations XML du W3C.
L'Annexe B fait partie intégrante de la présente Recommandation | Norme internationale, et contient la spécification
d'un type de support MIME qui identifie un document Fast Infoset.
L'Annexe C ne fait pas partie intégrante de la présente Recommandation | Norme internationale, et donne une
description complète des codages spécifiés formellement au § 12 et au § A.2.
L'Annexe D ne fait pas partie intégrante de la présente Recommandation | Norme internationale, et donne des exemples
de documents Fast Infoset générés à partir de documents XML. L'annexe D donne aussi la taille de la représentation
XML et de la représentation Fast Infoset de ces exemples.
© ISO/CEI 2007 – Tous droits réservés vii

ISO/CEI 24824-1:2007 (F)
NORME INTERNATIONALE
RECOMMANDATION UIT-T
Technologies de l'information – Applications génériques de l'ASN.1: Fast Infoset
1 Domaine d'application
La présente Recommandation | Norme internationale spécifie un type d'ASN.1 (voir la Rec. UIT-T X.680 | ISO/CEI
8824-1) dont les valeurs abstraites représentent des instances de l'ensemble d'informations XML du W3C. Elle spécifie
aussi les codages binaires pour ces valeurs, en utilisant la notation de contrôle de codage ASN.1 (voir la
Rec. UIT-T X.692 | ISO/CEI 8825-3).
NOTE – Ces codages sont appelés documents Fast Infoset.
La présente Recommandation | Norme internationale spécifie aussi des techniques qui:
– minimisent la taille des documents Fast Infoset;
– maximisent la vitesse de création et de traitement des documents Fast Infoset;
– permettent la spécification (grâce au générateur d'un document Fast Infoset) de données de traitement
supplémentaire.
Les deux premières techniques impliquent l'utilisation de tableaux de vocabulaire conceptuel. L'ensemble des tableaux
de vocabulaire et la nature de leurs entrées est défini de façon complète dans la présente Recommandation | Norme
internationale, mais leur représentation dans les mémoires d'ordinateurs est en dehors du domaine d'application de la
présente Recommandation | Norme internationale. Les dispositions pour le transfert ou le stockage, ou la notation
formelle de l'affichage ou la spécification des tableaux de vocabulaire à utiliser comme vocabulaire externe sont
également en dehors du domaine d'application de la présente Recommandation | Norme internationale.
La troisième technique implique la fourniture de données de traitement supplémentaire et d'un URI qui identifie la
forme et la sémantique de ces données. La spécification de formes particulières de données de traitement
supplémentaire et leur utilisation sont en dehors du domaine d'application de la présente Recommandation | Norme
internationale.
Les URI peuvent être utilisés pour identifier les vocabulaires finaux qui peuvent être utilisés comme tout ou partie d'un
nouveau vocabulaire initial, mais l'affectation d'URI spécifiques à des vocabulaires finaux particuliers est en dehors du
domaine d'application de la présente Recommandation | Norme internationale.
La présente Recommandation | Norme internationale spécifie des alphabets restreints prédéfinis, l'ajout par énumération
à des tableaux de vocabulaire d'autres alphabets restreints, et l'utilisation de ces tableaux de vocabulaire pour un codage
efficace des chaînes de caractères.
La présente Recommandation | Norme internationale spécifie aussi des algorithmes de codage prédéfinis pour le codage
optimal de certaines chaînes de caractères et l'ajout à des tableaux de vocabulaire d'autres algorithmes de codage
identifiés par des URI, mais la définition de ces autres algorithmes de codage et de leurs URI associés est en dehors du
domaine d'application de la présente Recommandation | Norme internationale.
De plus, la présente Recommandation | Norme internationale spécifie un type de support d'extensions de messagerie
Internet multiobjets (MIME, multipurpose Internet mail extensions) qui identifie un document Fast Infoset.
2 Références normatives
Les Recommandations | Normes internationales et autres références suivantes contiennent des dispositions qui, par suite
de la référence qui y est faite, constituent des dispositions valables pour la présente Recommandation | Norme
internationale. Au moment de la publication, les éditions indiquées étaient en vigueur. Toutes Recommandations,
Normes internationales et autres références sont sujettes à révision et les parties prenantes aux accords fondés sur la
présente Recommandation | Norme internationale sont invitées à rechercher la possibilité d'appliquer les éditions les
plus récentes des Recommandations | Normes internationales et autres références indiquées ci-après. Le Bureau de la
normalisation des télécommunications de l'UIT tient à jour une liste des Recommandations de l'UIT-T en vigueur. Les
membres de la CEI et de l'ISO possèdent le registre des Normes internationales en vigueur. L'IETF tient à jour une liste
des RFC, ainsi que de celles qui ont été rendues obsolètes par des RFC plus récents. Le W3C tient à jour la liste des
Rec. UIT-T X.891 (05/2005) 1
ISO/CEI 24824-1:2007 (F)
spécifications du W3C en vigueur. La référence à un document figurant dans la présente Recommandation | Norme
internationale ne donne pas à ce document, en tant que tel, le statut d'une Recommandation ou Norme internationale.
2.1 Recommandations | Normes internationales identiques
– Recommandation UIT-T X.667 (2004) | ISO/CEI 9834-8:2005, Technologies de l'information –
Interconnexion des systèmes ouverts – Procédures opérationnelles des organismes d'enregistrement de
l'OSI: génération et enregistrement des identificateurs uniques universels (UUID) et utilisation de ces
identificateurs comme composants d'identificateurs d'objet ASN.1.
– Recommandation UIT-T X.680 (2002) | ISO/CEI 8824-1:2002, Technologies de l'information – Notation
de syntaxe abstraite numéro un: spécification de la notation de base.
– Recommandation UIT-T X.681 (2002) | ISO/CEI 8824-2:2002, Technologies de l'information – Notation
de syntaxe abstraite numéro un: spécification des objets informationnels. †
– Recommandation UIT-T X.682 (2002) | ISO/CEI 8824-3:2002, Technologies de l'information – Notation
de syntaxe abstraite numéro un: spécification des contraintes. †
– Recommandation UIT-T X.683 (2002) | ISO/CEI 8824-4:2002, Technologies de l'information – Notation
de syntaxe abstraite numéro un: paramétrage des spécifications de la notation de syntaxe abstraite
numéro un. †
– Recommandation UIT-T X.690 (2002) | ISO/CEI 8825-1:2002, Technologies de l'information – Règles
de codage ASN.1: spécification des règles de codage de base, des règles de codage canoniques et des
règles de codage distinctives. †
– Recommandation UIT-T X.691 (2002) | ISO/CEI 8825-2:2002, Technologies de l'information – Règles
de codage ASN.1: spécification des règles de codage compact (PER). †
– Recommandation UIT-T X.692 (2002) | ISO/CEI 8825-3:2002, Technologies de l'information – Règles
de codage ASN.1: notation de contrôle de codage (ECN).
– Recommandation UIT-T X.693 (2001) | ISO/CEI 8825-4:2002, Technologies de l'information – Règles
de codage ASN.1: règles de codage XML (XER). †
NOTE – L'ensemble complet des Recommandations | Normes internationales sur l'ASN.1 est énuméré ci-dessus, car
toutes peuvent être applicables dans des utilisations particulières de la présente Recommandation | Norme
internationale. Lorsqu'elles ne sont pas directement référencées dans le corps de la présente Recommandation | Norme
internationale, un symbole † est ajouté à la référence.
2.2 Références supplémentaires
– ISO 8601:2004, Eléments de données et formats d'échange – Echange d'informations – Représentation
de la date et de l'heure.
– ISO/CEI 10646:2003, Technologies de l'information – Ensemble universel de caractères codés sur
plusieurs octets.
– Unicode, The Unicode Standard, Version 4.0, The Unicode Consortium. (Reading, MA,
Addison-Wesley). (Norme Unicode, version 4.0)
NOTE 1 – Les caractères graphiques (et leurs codages) définis par Unicode sont identiques à ceux définis par la
norme ISO/CEI 10646-1, mais Unicode est inclus comme référence parce qu'il spécifie aussi les noms des
caractères de contrôle et définit l'abréviation UTF-16BE.
– W3C XML 1.0:2004, Extensible Markup Language (XML) 1.0 (Third Edition), W3C Recommendation,
Copyright © [4 February 2004] 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-20040204/. (Langage de balisage extensible, troisième édition)
– W3C XML 1.1:2004, Extensible Markup Language (XML) 1.1, W3C Recommendation, Copyright ©
[4 February 2004] 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-xml11-20040204/. (Langage de balisage extensible)
NOTE 2 – Les références à W3C XML 1.0 et W3C XML 1.1 sont toutes deux incluses car aucune n'est un sous-
ensemble de l'autre. Ces références ne sont utilisées qu'au § 3.4.10.
– W3C XML Information Set:2004, XML Information Set (Second Edition), W3C Recommendation,
Copyright © [04 February 2004] World Wide Web Consortium (Massachusetts Institute of Technology,
Institut national de recherche en informatique et en automatique, Keio University),
http://www.w3.org/TR/2004/REC-xml-infoset-20040204/. (Ensemble d'informations XML, deuxième
édition)
2 Rec. UIT-T X.891 (05/2005)
ISO/CEI 24824-1:2007 (F)
– W3C XML Namespaces 1.0: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-xm-lnames-19990114/. (Espaces de nom en XML)
– W3C XML Namespaces 1.1:2004, Namespaces in XML 1.1, W3C Recommendation, Copyright ©
[4 February 2004] World Wide Web Consortium (Massachusetts Institute of Technology, Institut
national de recherche en informatique et en automatique, Keio University),
http://www.w3.org/TR/2004/REC-xm-l-names11-20040204/. (Espaces de nom en XML)
NOTE 3 – Les références à W3C XML Namespaces 1.0 et W3C XML Namespaces 1.1 sont toutes deux incluses
car aucune n'est un sous-ensemble de l'autre. Ces références ne sont utilisées qu'au § 3.4.10.
– IETF RFC 2045 (1996), Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet
Message Bodies. (Extensions de messagerie Internet multiobjets, MIME)
– IETF RFC 2396 (1998), Uniform Resource Identifiers (URI): Generic Syntax. (Identificateurs universels
de ressources (URI): Syntaxe générique)
– IEEE 754 (1985), IEEE Standard for Binary Floating-Point Arithmetic. (Norme IEEE pour arithmétique
binaire à virgule flottante)
3 Définitions
Pour les besoins de la présente Recommandation | Norme internationale, on applique les définitions suivantes.
3.1 Termes ASN.1
La présente Recommandation | Norme internationale utilise les termes suivants, définis dans la Rec UIT-T X.680 |
ISO/CEI 8824-1:
a) type choix (choice type);
b) type séquence (sequence type);
c) type séquence de (sequence-of type).
3.2 Termes ECN
La présente Recommandation | Norme internationale utilise les termes suivants définis dans la Rec. UIT-T X.692 |
ISO/CEI 8825-3:
a) module de définition de codage (EDM, encoding definition module);
b) module de lien de codage (ELM, encoding link module).
3.3 Termes de l'ISO/CEI 10646
La présente Recommandation | Norme internationale utilise les termes suivants définis dans l'ISO/CEI 10646:
a) plan multilingue de base.
3.4 Définitions supplémentaires
3.4.1 Base64: mécanisme de codage qui représente une valeur de chaîne d'octet comme une chaîne de caractères en
utilisant un alphabet restreint de 65 caractères (voir le § 10.3 et la RFC 2045 de l'IETF).
3.4.2 chaîne de caractères: chaîne de caractères abstraits ISO/CEI 10646, sans aucune implication sur la façon
dont ils sont codés.
3.4.3 algorithme de codage: spécification précise de la façon de coder efficacement une chaîne de caractères avec
des caractéristiques spécifiées dans les octets.
NOTE – Un exemple serait le codage d'une chaîne telle que "-32176" en entier binaire complément à deux sur deux octets. Le
codage sur deux octets serait accompagné d'un indice de tableau de vocabulaire identifiant cet algorithme de codage.
3.4.4 vocabulaire externe: ensemble de tableaux de vocabulaire référencé par un URI (voir au § 7.2.14).
3.4.5 document Fast Infoset: Infoset XML représenté comme spécifié dans la présente Recommandation | Norme
internationale.
Rec. UIT-T X.891 (05/2005) 3
ISO/CEI 24824-1:2007 (F)
3.4.6 vocabulaire final: contenu des tableaux de vocabulaire à la fin de la création ou du traitement d'un document
Fast Infoset.
3.4.7 élément informationnel: chacun des types d'éléments qui constitue un infoset XML.
3.4.8 vocabulaire initial: ensemble des tableaux de vocabulaire établis par information au début d'un document
Fast Infoset qui fait facultativement référence à un vocabulaire externe et fournit facultativement des entrées de tableau
supplémentaires.
3.4.9 suppléant de nom: ensemble de trois indices de tableau de vocabulaire (les deux premiers sont facultatifs)
qui sont utilisés pour représenter un nom qualifié (voir au § 3.4.11).
3.4.10 document XML bien conformé à l'espace des noms: document XML W3C 1.0 bien conformé selon
l'espace de noms XML 1.0 de la W3C ou document XML 1.1 W3C bien conformé selon l'espace de noms XML 1.1 de
la W3C.
3.4.11 nom qualifié: ensemble comportant les propriétés [prefix], [namespace name], et [local name] d'un élément
informationnel element ou d'un élément informationnel attribute.
3.4.12 alphabet restreint: ensemble ordonné de caractères ISO/CEI 10646 distincts, qui permet un codage compact
de toute chaîne de caractères uniquement constituée de caractères pris dans cet ensemble.
3.4.13 indice de tableau de vocabulaire: valeur entière positive identifiant une entrée dans un tableau de
vocabulaire.
3.4.14 tableaux de vocabulaire: ensemble de tableaux de concepts (normalement, mais pas nécessairement,
construits de façon dynamique) associés à un document Fast Infoset, qui contient des chaînes de caractères ou d'autres
informations, et prend en charge l'utilisation de valeurs entières positives normalement petites (indices de tableau de
vocabulaire) qui identifient leurs entrées.
NOTE – Des exemples de tableaux de vocabulaire sont ceux qui contiennent des chaînes de caractères qui sont les propriétés
[local name] des éléments d'information attribute ou element, ou des chaînes de caractère correspondant à des séquences d'éléments
d'information character qui sont membres de la propriété [children] des éléments d'information element.
3.4.15 déclaration XML: codage UTF-8 d'une chaîne de caractère spécifiée (voir aussi le § 12.3) qui peut être
incluse au début d'un document Fast Infoset pour identifier le codage comme celui d'un document Fast Infoset et pour le
distinguer d'un document W3C XML 1.0 ou W3C XML 1.1.
3.4.16 infoset XML: ensemble de données abstraites qui décrit les informations dans un document XML à espace de
nom bien conformé, comme spécifié dans l'ensemble d'informations XML W3C.
3.4.17 espace blanc XML: un ou plusieurs caractères TABULATION HORIZONTALE (9), SAUT DE
LIGNE (10), RETOUR CHARIOT (13), ou ESPACE (32) d'Unicode.
NOTE – Ces caractères sont ceux qui correspondent à la production de "S" à la fois dans W3C XML 1.0 et W3C XML 1.1 (voir
W3C XML 1.0, 2.3 et W3C XML 1.1, 2.3). Les caractères LIGNE SUIVANTE (133) et SEPARATEUR DE LIGNE (8232), qui
peuvent survenir dans un document W3C XML 1.1 à espaces de nom bien conformés (voir W3C XML 1.1, 2.11), sont convertis
en caractères SAUT DE LIGNE par un traitement de fin de ligne (voir W3C XML 1.1, 2.11). Si ces caractères surviennent dans
un infoset XML généré à partir d'un document W3C XML 1.1 à espaces de nom bien conformés, ce ne sont pas des espaces
blancs XML.
4 Abréviations
Pour les besoins de la présente Recommandation | Norme internationale, on applique les abréviations suivantes:
ASN.1 Notation de syntaxe abstraite numéro un (abstract syntax notation one)
BMP Table multilingue de base (basic multilingual plane)
ECN Notation de contrôle de codage (encoding control notation)
MIME Extensions de messagerie Internet multiobjets (multipurpose Internet mail extensions)
UBL Langage d'affaires universel (universal business language)
URI Identificateur universel de ressources (uniform resource identifier)
UTF-8 Format de transformation UCS 8 (universal transformation function 8-bit) (voir l'ISO/CEI
10646, Annexe D)
UTF-16BE Format de transformation UCS 16 bits gros-boutistes (universal transformation function 16-bit
Big Endian) (voir Unicode, 2.6)
UUID Identificateur unique universel (universally unique identifier)
4 Rec. UIT-T X.891 (05/2005)
ISO/CEI 24824-1:2007 (F)
XML Langage de balisage extensible (extended markup language)
5 Notation
5.1 La présente Recommandation | Norme internationale utilise la notation ASN.1 définie par la Rec. UIT-T
X.680 | ISO/CEI 8824-1 pour la définition formelle des types de données dont les codages sont des documents Fast
Infoset.
NOTE – Le paragraphe 12 spécifie l'application de la Rec. UIT-T X.692 | ISO/CEI 8825-3 aux définitions des types ASN.1, et
donne le codage au niveau binaire d'un document Fast Infoset.
5.2 Dans la présente Recommandation | Norme internationale, la police de caractère Courier gras est utilisée
pour les notations en ASN.1 et la police de caractères Arial gras est utilisée pour la syntaxe XML W3C et pour les noms
des éléments d'information de l'ensemble d'informations XML.
5.3 Les noms des propriétés des éléments d'information sont en Arial gras et inclus entre crochets (par exemple,
[children]).
5.4 Les noms des catégories de chaînes de caractères (voir le § 8.4.2) et les noms des catégories de noms qualifiés
(voir le § 8.5.4) sont en MAJUSCULES.
5.5 Dans la présente Recommandation | Norme internationale, les positions des bits au sein d'un octet sont
spécifiées en utilisant la terminologie "premier bit, second bit, etc., jusqu'au huitième bit", où le premier bit est le bit de
plus fort poids de l'octet, et le huitième bit est le bit de plus faible poids de l'octet.
6 Principes de construction et d'utilisation des tableaux de vocabulaire
6.1 Les tableaux de vocabulaire sont des tables de concepts qui transposent un indice de tableau de vocabulaire en
entrée de tableau de vocabulaire.
NOTE – La représentation des tableaux de vocabulaire dans les mémoires des ordinateurs n'est pas définie, pas plus que les
moyens par lesquels une implémentation transpose un indice de tableau de vocabulaire en entrée de tableau de vocabulaire pour
ce tableau.
6.2 Le créateur d'un document Fast Infoset à partir d'un infoset XML détermine le contenu des tableaux de
vocabulaire.
6.3 Dans le cas le plus général, l'en-tête d'un document Fast Infoset peut faire référence à un ensemble de tableaux
de vocabulaire (un vocabulaire externe), suivi par la spécification d'ajouts à ces tableaux de vocabulaire pour former le
vocabulaire initial de ce document Fast Infoset. Des ajouts ultérieurs à ces tableaux de vocabulaire surviennent lors de
la création et durant le traitement d'un document Fast Infoset, de sorte qu'ils croissent progressivement pour former les
tableaux de vocabulaire finaux pour ce document.
6.4 Certains tableaux de vocabulaire croissent progressivement à partir d'un vocabulaire initial jusqu'à un
vocabulaire final durant la création et pendant le traitement d'un document Fast Infoset, et ont donc le mot "dynamique"
dans le nom du tableau de vocabulaire. Il n'existe pas de mécanisme de suppression des entrées d'un tableau.
6.5 Les indices d'un tableau de vocabulaire sont alloués de façon implicite. La première entrée de tout tableau de
vocabulaire a un indice de tableau de vocabulaire de un, et chaque entrée suivante de ce tableau a la valeur de l'entier
immédiatement supérieur d'indice de tableau de vocabulaire. Lorsque la présente Recommandation | Norme
internationale spécifie que quelque chose doit être ajouté à un tableau de vocabulaire, cela implique qu'on doit lui
allouer le prochain indice de tableau de vocabulaire disponible.
NOTE – Les indices de tableau de vocabulaire débutent à un et non à zéro parce que la valeur zéro (lorsqu'elle est permise) a la
signification particulière de "chaîne de caractères vide" dans un champ qui pourrait autrement contenir un indice de tableau de
vocabulaire.
6.6 Pour prendre en charge l'allocation implicite des indices de tableau de vocabulaire, l'ordre conceptuel de
traitement des composants (de toute nature) d'un document Fast Infoset est entièrement défini (voir le § 8.1).
NOTE – Cet ordre est le même que l'ordre de codage des composants dans un document Fast Infoset. Cela n'implique pas
nécessairement que la sémantique portée par le document soit traitée dans cet ordre. L'ordre n'est défini que pour garantir que le
même indice de tableau de vocabulaire est alloué pour toute entrée de tableau de vocabulaire donnée à la fois par le créateur et
par celui qui va traiter le document Fast Infoset.
6.7 Les tableaux de vocabulaire servent à de nombreux usages (voir le paragraphe 8), mais leur fonction première
est de permettre l'utilisation d'un indice de tableau de vocabulaire à la place d'une entrée de tableau de vocabulaire, car
de tels indices sont plus petits (et peuvent être traités plus vite) que les entrées de tableau. Un certain nombre d'entrées
prédéfinies pour des tableaux de vocabulaire sont spécifiées au § 9. Ces entrées sont toujours implicitement présentes
dans ces tableaux de vocabulaire, avec les indices de tableau de vocabulaire spécifiés au § 9.
Rec. UIT-T X.891 (05/2005) 5
ISO/CEI 24824-1:2007 (F)
6.8 Pour certaines catégories de chaînes de caractères, le créateur d'un document Fast Infoset a la faculté d'ajouter
ou non une chaîne à un tableau de vocabulaire, selon le nombre attendu (ou connu) d'occurrences de cette chaîne de
caractères dans l'infoset XML.
6.9 La forme et la signification précises des entrées d'un tableau de vocabulaire est spécifiée au § 8, mais ce sont
dans la plupart des cas des chaînes de caractères de longueur variable, souvent cour
...

Questions, Comments and Discussion

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

Loading comments...