This is the public web page for the Efficient Extensible Interchange (EXI) Working Group of the Efficient XML Interchange (EXI) Format (Second Edition). Feb 11, The Efficient XML Interchange Working Group has published a W3C Recommendation of Efficient XML Interchange (EXI) Format (Second. , Efficient XML Interchange (EXI) Format (Second Edition) Recommendation. , Proposed Edited Recommendation. .
|Published (Last):||4 January 2009|
|PDF File Size:||5.19 Mb|
|ePub File Size:||16.92 Mb|
|Price:||Free* [*Free Regsitration Required]|
It is represented as a sequence of octets terminated by an octet with its most significant bit set to 0. A built-in XML grammar is self-evolving.
Efficient XML Interchange (EXI) Format (Second Edition) Publication History – W3C
Element and attribute values are grouped according to their qname s. SE qname RightHandSide that were previously added to the grammar upon the first occurrence of the element that has the qualified name qname are evaluated as follows when they are matched: EE with an event code of length 1 does not exist in the current element grammar, create one with event code 0 and increment the first part of the event code of each production in the current grammar with the non-terminal LeftHandSide on the left-hand side.
His breadth of knowledge, depth of insight, ingenuity and courage to speak up constantly shed a light onto us whenever the group seemed to stray into a futile path of disagreements during the course.
The Unsigned Integer datatype representation supports unsigned integer numbers of arbitrary magnitude. International Organization for Standardization. Multiple versions of a schema file may exist that is, with the same target namespace but different byte sizes or MD5 hash codes. Therefore, the server and client can create their own Schema IDs, according to some algorithm. They are omitted in the example encodings to make the encoding description more articulate by focusing on the primary data and structure without being distracted by the frequent occurrence of indentation whitespaces.
Self-contained elements may be read independently from the rest of the EXI body. This Configuration ID can be used by the client during successive connections to the server, to skip the larger part of the handshake, as is shown in the following example:. Documents that contain schema deviations should not cause encoding to fail.
This section walks through the EXI coding of the Notebook Exampleexplaining the concepts previously introduced in a step-by-step approach. Otherwise, their content is evaluated according to the relaxed Element Fragment grammar described above.
In addition, local value learning mechanism is disabled by default as described in section 4 of EXI Profile. The first octet after these, or the first octet of the whole content if they are not present, has its high two bits set to values 1 and 0 in that order.
The value ” EXI ” appears two times in the notebook example, respectively in the context of category and subject. Shown below is the rule for assembling the charset of a regExp given a list of atoms that are contained directly in the regExpexcluding those atoms contained in sub-regexp parenthesized within the regExp i. Each grammar production has an event codewhich is represented by a sequence of one to three parts separated by periods “.
When the value of compression option is set to true, alignment of the EXI Body is governed by the rules specified in 9. Each block contains exactly one channel for each distinct element or attribute qname that occurs in the block. If there is no namespace in scope for the specified qname prefix, set the uri of target-type to empty “” and the localName to the full lexical value of the QName, including the prefix.
Efficient Extensible Interchange Working Group
Internet Engineering Task Force, January Since this makes sure each EXI body starts egficient an even byte boundary, it permits the recipient to decompress the body into an XML stanza.
Further local-name entries are appended in the order they appear in the actual XML instance no additional sorting is applied. String tables are used in memory-sensitive areas allowing a compact representation of repeated string values. It is inappropriate to cite this document as other than work in progress. Strict schema coding would likely improve compactness for egficient cases where documents are known to be valid according to a given schema, or where it is known that ex non-valid part of a document is of no relevance to the decoder.
At the same time, disruption to existing processors, and impact on the complex real-world uses of XML, must be minimized.
The EXI format uses a hybrid approach drawn from the information and formal language theories, plus practical techniques verified by measurements, for entropy encoding XML information. The default blockSize is intentionally large but can be reduced for processing large documents on devices with 10.
Efficient XML Interchange (EXI) Primer
EXI is a knowledge based encoding that uses a set of grammars to determine which events are most likely to occur at any given point in an EXI stream and encodes the most likely alternatives in fewer bits. Similarly, the expression n. The list of proposed features and extensions under consideration is actually longer, only those that have been discussed by the WG are included here. The figure above illustrates the situation after coding the entire XML instance.
Multiplexing EXI events into channels. Built-In Grammar for SE note. Older versions of this specification might be available at http: The bounded tables feature sets an a priori bound on the sizes of the string table partitions and grammars. Added references to core XMPP schemas in examples. The second table below illustrates how the event codes of each event matched by the DocContent grammar above are represented in this case.
However, messages exchanged as a result should be identical. By combining smaller channels into the same compressed stream while others are compressed separately, EXI keeps the compression overhead at a minimum.
XEP-0322: Efficient XML Interchange (EXI) Format
Note also, that for any practical purpose, schema files can be stored using only the MD5 hash as a key, since it is highly improbable that two different schema files will have the same MD5 hash unless consciously created that way. An EXI stream encoder is conformant if and only if it is capable of generating conformant EXI streams or conformant extended EXI streams given any input structured data it is made to work on.
This is a restricted form of Greibach normal form [Greibach Normal Form]. Self-contained elements may be xjl independently from the rest of the EXI body, allowing them to be indexed for random access. What constitutes a context in this case is more formally defined by an EXI grammar production in the next section. SE “A” is 0. In addition, EXI normalized grammars contain effiicient two grammar productions with the same non-terminal on the left-hand side and the same terminal symbol on the right-hand side.
There are several restrictions peculiar to schema-informed element and type grammars created with strict option value true in the ability to represent a small number of uncommon element information item formulations yet valid to the schemas.