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):||6 September 2007|
|PDF File Size:||5.56 Mb|
|ePub File Size:||2.98 Mb|
|Price:||Free* [*Free Regsitration Required]|
At this point, the client can either choose to accept that these schema files are not available, making compression less efficient, or choose to upload the missing schema files to the server.
While byte-alignment generally results in EXI streams of larger sizes compared with their bit-packed equivalents, byte-alignment may provide a help in some use cases that involve frequent copying of large arrays of scalar data directly out of the stream. The EXI interoperability test framework was created for the purpose of conducting intdrchange assessment as a means to evaluate the clarity of the EXI Format and related specifications.
Efficient XML Interchange (EXI) Format (Second Edition)
Members of the Working Group are at the time of writing, sorted alphabetically by last name: This process can produce a grammar that has more than one production with the same non-terminal on the left hand side imterchange the same terminal symbol on the right hand side.
A set of one or more grammar productions that share the same left-hand-side non-terminal symbol are often presented together along with event codes intercahnge uniquely identify events among the collocated productions as follows:.
Expanded productions equivalent to the productions used above. The number of parts in a given event code is called the event code’s length. The EXI grammar incorporates knowledge of the XML grammar and may be augmented and refined using schema information and fidelity options. Formwt is not intended as a means to validate conformance though it would likely facilitate EXI implementation efforts. New built-in element grammars are created to describe the content of newly encountered elements and new grammar productions are added to refine existing built-in grammars.
ElementNotebook popped from grammar-stack.
An example of the configuration is described in the following figure. Because non-terminal macros are injected into the right-hand-side of more than one exii, the event codes of productions with these macro non-terminals on the left-hand-side are not fixed, but will have different event code values depending on the context in which the macro non-terminal appears. The range of the mantissa is – 2 63 to 2 63 -1 and the range of the exponent is – 2 14 -1 to 2 14 Each schema-informed element grammar and type grammar is constructed according to the following four steps: The schema is sent as plain text, albeit base encoded.
Efficient XML Interchange – Wikidata
The string table is initially pre-populated with string values that are likely to occur in certain contexts and is dynamically expanded to include additional string values encountered in the document. The following table shows which components are included in a value of each XML Schema type that is relevant to Date-Time datatype. Document grammars and fragment grammars describe the top-level structure, while element grammars describe the structure of every element.
Jun Fujisawa, Canon, Inc. Evaluate the element content using the global element grammar for element qname. The reason for using MD5 as a hashing mechanism to identify schema versions, is because MD5 has a small memory footprint and is easy to implement. Example event code encoding. After encoding the string value, it is added to both the associated “local” value string table partition and the global value string table partition. In grammar notation, all terminal symbols are represented in plain text and all non-terminal symbols are represented in italics.
Only if a string value is not found in the associated table i. In this case, pre-compression just prepares the stream for later compression. The total number of value items or the maximum string length of value content items can be restricted to save memory on small devices see valuePartitionCapacity and valueMaxLength EXI Options.
When set to true, the event codes and associated content are compressed according to 9. This is the default value. The following table lists the entries that are initially populated in local-name partitions, where XML-NS represents the partition for local-names in the “http: The grammar shown below represents the initial set of productions that belong to a built-in element grammar at the time when a new instance is created, which is supplemented by the semantic description that explains the rules that are applied by the grammar onto itself to evolve and be better prepared for subsequent uses of the same grammar instance during the rest of the processing of the stream.
In addition, local value learning mechanism is disabled by default as described in section 4 of EXI Profile. Self contained element has no dependency to context string table state in EXI processors and can be copied to other context with the same grammar.
The configurationId attribute has a similar attribute called configurationLocation. A string table cannot be reused across multiple EXI streams; therefore, EXI processors MUST use a string table that is equivalent to the one that would have been newly created and pre-populated with initial values for processing each EXI stream. Namespace NS events are encoded before attribute AT events in the stream following the associated start element SE event.
Below are some examples of variable event codes:. It does this by mapping the stream of events to a lower entropy set of representative values and encoding those values using a set of simple variable length codes or an EXI compression algorithm. The disadvantage is that asynchronous errors might occur, so the client needs to pay attention to the responses returned by the server when downloading schemas.
EXI processors conforming with the final version of this specification MUST use the 5-bit value 0 as the version number. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. An element information item maps to a pair of a SE event and the corresponding EE event with each of its properties subject to further mapping as shown in the following table. NS events are pruned from grammars and namespace prefixes are not preserved. When a schema-informed grammar is in effect, xsi: Namespace NS events occur in document order.
EXI format is capable of representing those whitespaces in an efficient manner. Values typed as integer with bounded range of or smaller are now represented as n -bit Unsigned Integers see section 7.
EXI is schema “informed”, meaning that it can utilize formwt schema information to improve compactness and performance, but does not depend on accurate, complete or current schemas to work.
Efficient XML Interchange (EXI) Format 1.0 (Second Edition) Publication History
Based on the constraints expressed in a schema, these events are construed to occur foramt frequently together than not. Indexed Elements are self contained, meaning their content has no dependencies on external events or any impact those events may have had on context sensitive structures, such as string tables and learned content models. If the value is 15, go efficietn step 1, otherwise i. Those readers who prefer a step-by-step introduction to the EXI format design and features are suggested to start with the non-normative [EXI Primer].
Add the production created in step 1 to the grammar Evaluate the remainder of event sequence using RightHandSide. EXI grammars are regular grammars in which productions are associated with event codes.