1、 International Telecommunication Union ITU-T X.891TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (05/2005) SERIES X: DATA NETWORKS, OPEN SYSTEM COMMUNICATIONS AND SECURITY OSI applications Generic applications of ASN.1 Information technology Generic applications of ASN.1: Fast infoset ITU-T Recomme
2、ndation X.891 ITU-T X-SERIES RECOMMENDATIONS DATA NETWORKS, OPEN SYSTEM COMMUNICATIONS AND SECURITY PUBLIC DATA NETWORKS Services and facilities X.1X.19 Interfaces X.20X.49 Transmission, signalling and switching X.50X.89 Network aspects X.90X.149 Maintenance X.150X.179 Administrative arrangements X.
3、180X.199 OPEN SYSTEMS INTERCONNECTION Model and notation X.200X.209 Service definitions X.210X.219 Connection-mode protocol specifications X.220X.229 Connectionless-mode protocol specifications X.230X.239 PICS proformas X.240X.259 Protocol Identification X.260X.269 Security Protocols X.270X.279 Laye
4、r Managed Objects X.280X.289 Conformance testing X.290X.299 INTERWORKING BETWEEN NETWORKS General X.300X.349 Satellite data transmission systems X.350X.369 IP-based networks X.370X.379 MESSAGE HANDLING SYSTEMS X.400X.499DIRECTORY X.500X.599 OSI NETWORKING AND SYSTEM ASPECTS Networking X.600X.629 Eff
5、iciency X.630X.639 Quality of service X.640X.649 Naming, Addressing and Registration X.650X.679 Abstract Syntax Notation One (ASN.1) X.680X.699 OSI MANAGEMENT Systems Management framework and architecture X.700X.709 Management Communication Service and Protocol X.710X.719 Structure of Management Inf
6、ormation X.720X.729 Management functions and ODMA functions X.730X.799 SECURITY X.800X.849 OSI APPLICATIONS Commitment, Concurrency and Recovery X.850X.859 Transaction processing X.860X.879 Remote operations X.880X.889 Generic applications of ASN.1 X.890X.899 OPEN DISTRIBUTED PROCESSING X.900X.999 T
7、ELECOMMUNICATION SECURITY X.1000 For further details, please refer to the list of ITU-T Recommendations. ITU-T Rec. X.891 (05/2005) i INTERNATIONAL STANDARD ISO/IEC 24824-1 ITU-T RECOMMENDATION X.891 Information technology Generic applications of ASN.1: Fast infoset Summary This Recommendation | Int
8、ernational Standard 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 this Recommendation | International Standard i
9、s 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. This Recommendation | International Standard spec
10、ifies the use of several techniques that minimize the size of the encodings (called fast infoset documents) 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 voca
11、bularies, and external vocabularies. This Recommendation | International Standard also specifies a Multipurpose Internet Mail Extensions (MIME) media type that identifies a fast infoset document. Source ITU-T Recommendation X.891 was approved on 14 May 2005 by ITU-T Study Group 17 (2005-2008) under
12、the ITU-T Recommendation A.8 procedure. It includes the corrections introduced by Technical Corrigendum 1, approved on 13 June 2006 by ITU-T Study Group 17 (2005-2008) under the ITU-T Recommendation A.8 procedure. An identical text is also published as ISO/IEC 24824-1. ii ITU-T Rec. X.891 (05/2005)
13、FOREWORD The International Telecommunication Union (ITU) is the United Nations specialized agency in the field of telecommunications. The ITU Telecommunication Standardization Sector (ITU-T) is a permanent organ of ITU. ITU-T is responsible for studying technical, operating and tariff questions and
14、issuing Recommendations on them with a view to standardizing telecommunications on a worldwide basis. The World Telecommunication Standardization Assembly (WTSA), which meets every four years, establishes the topics for study by the ITU-T study groups which, in turn, produce Recommendations on these
15、 topics. The approval of ITU-T Recommendations is covered by the procedure laid down in WTSA Resolution 1. In some areas of information technology which fall within ITU-Ts purview, the necessary standards are prepared on a collaborative basis with ISO and IEC. NOTE In this Recommendation, the expres
16、sion “Administration“ is used for conciseness to indicate both a telecommunication administration and a recognized operating agency. Compliance with this Recommendation is voluntary. However, the Recommendation may contain certain mandatory provisions (to ensure e.g. interoperability or applicabilit
17、y) and compliance with the Recommendation is achieved when all of these mandatory provisions are met. The words “shall“ or some other obligatory language such as “must“ and the negative equivalents are used to express requirements. The use of such words does not suggest that compliance with the Reco
18、mmendation is required of any party. INTELLECTUAL PROPERTY RIGHTS ITU draws attention to the possibility that the practice or implementation of this Recommendation may involve the use of a claimed Intellectual Property Right. ITU takes no position concerning the evidence, validity or applicability o
19、f claimed Intellectual Property Rights, whether asserted by ITU members or others outside of the Recommendation development process. As of the date of approval of this Recommendation, ITU had received notice of intellectual property, protected by patents, which may be required to implement this Reco
20、mmendation. However, implementors are cautioned that this may not represent the latest information and are therefore strongly urged to consult the TSB patent database. ITU 2007 All rights reserved. No part of this publication may be reproduced, by any means whatsoever, without the prior written perm
21、ission of ITU. ITU-T Rec. X.891 (05/2005) iii 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 Abbre
22、viations 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 Chara
23、cterChunk 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.
24、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 Th
25、e 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 algorith
26、m . 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 “uu
27、id“ encoding algorithm 27 iv ITU-T Rec. X.891 (05/2005) 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
28、.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 Encodin
29、g 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 UnparsedEnt
30、ity 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 NonIdentifyingStringOrInde
31、x 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 Encod
32、edCharacterString 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.2
33、3 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 220starting on the second bit of an octet 65 C.26 Encoding of integers in the range 0
34、to 220starting on the second bit of an octet 66 C.27 Encoding of integers in the range 1 to 220starting on the third bit of an octet 66 C.28 Encoding of integers in the range 1 to 220starting on the fourth bit of an octet. 66 C.29 Encoding of integers in the range 1 to 256 67 Annex D Examples of enc
35、oding 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 i
36、nitial vocabulary 79 Annex E Assignment of object identifier values. 90 BIBLIOGRAPHY 91 ITU-T Rec. X.891 (05/2005) 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 no
37、tation 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 alt
38、ernative 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 Recomm
39、endation | 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 us
40、e 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 cha
41、racter 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 st
42、rings 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 nam
43、e. 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 t
44、able 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
45、 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,
46、 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. Floati
47、ng-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, wh
48、ile 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
49、 (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