Copyright © 2014 W3C® (MIT,ERCIM,Keio,Beihang), All Rights Reserved. W3Cliability,trademark anddocument use rules apply.
This document records all known errors in theEfficient XML Interchange (EXI) Format 1.0 (Second Edition) (hereinafter, "the specification" or "the spec").
If you find errors in the specification that are not listed in this document, please report them topublic-exi-comments@w3.org. Archives of the mailing list are available atpublic archive.
1.Substantive Errata
2.Editorial Errata
3.Clarifications
A.Errata Changes
Change the paragraph that reads:
[Definition:] An event code is a sequence of 1 to 3 non-negative integers called parts used to identify each event in an EXI stream. The EXI grammars describe which events may occur at each point in an EXI stream and associate an even code with each one. (See 8.2 Grammar Event Codes for more description of event codes.)
to:
[Definition:] An event code is a sequence of 1 to 3 non-negative integers called parts used to identify each event in an EXI stream. The EXI grammars describe which events may occur at each point in an EXI stream and associate an event code with each one. (See 8.2 Grammar Event Codes for more description of event codes.)
Change the third paragraph that reads:
The EXI events permitted at any given position in an EXI stream are determined by the EXI grammar. As is the case with XML, the events occur with nesting pairs of matching start element and end element events where any pair does not intersect with another except when it is fully contained in the other. The EXI grammar incorporates knowledge of the XML grammar and may be augmented and refined using schema information and fidelity options. The EXI grammar is formally specified in section8. EXI Grammars.
to:
The EXI events permitted at any given position in an EXI stream are determined by a stack of EXI grammars. As is the case with XML, the events occur with nesting pairs of matching start element and end element events where any pair does not intersect with another except when it is fully contained in the other. Each start element event pushes the EXI grammar that describes its content to the grammar stack while each end element event pops a grammar from the grammar stack. The EXI grammars incorporate knowledge of the XML Infoset[XML Information Set] and may be augmented and refined using schema information and fidelity options. The EXI grammars are formally specified in section8. EXI Grammars.
Change the third paragraph that reads:
The following sections describe the grammars used to inform the EXI encoding.
to:
The following sections describe the EXI grammars used to inform the encoding and decoding of EXI streams. The EXI grammars are right regular formal grammars that have exactly one terminal symbol followed by at most one non-terminal symbol on the right-hand side of their productions. Also, EXI grammars do not contain two or more grammar productions with the same non-terminal on the left-hand side and the same terminal symbol on the right-hand side.Also, change the sentence inSection 8.5.4.1 EXI Proto-Grammars that reads:
EXI proto-grammars differ from normalized EXI grammars in that they may contain productions of the form:
to:
EXI proto-grammars differ from normalized EXI grammars in that they may contain unit productions of the form:Also remove the sentence inSection 8.5.4.1 EXI Proto-Grammars that reads:
This is a restricted form of Greibach normal form[Greibach Normal Form].Remove the sentence inSection 8.5.4.2 EXI Normalized Grammars that reads:
This is a restricted form of Greibach normal form[Greibach Normal Form].Also change the sentence inSection 8.5.4.2 EXI Normalized Grammars that reads:
EXI proto-grammars differ from normalized EXI grammars in that they may contain productions of the form:
to:
EXI proto-grammars differ from normalized EXI grammars in that they may contain unit productions of the form:
In the list ofNotes, add the following item after the one describing a constraint regarding the use of xsi:schemaLocation and xsi:noNamespaceSchemaLocation attributes.
A sequence of whitespace characters cannot be represented in element-only content model. When the xml:space attribute (if any) present at one of the ancestor elements closest to the whitespaces is set to true, those whitespaces SHOULD be preserved. However, when the value of thestrict option is true, those whitespaces cannot be preserved due to the lack of a production of the formLeftHandSide : CHRightHandSide.
Remove the reference to Greibach Normal Form:
Greibach Normal FormA New Normal-Form Theorem for Context-Free Phrase Structure Grammars, Sheila A. Greibach, Author. Journal of the ACM Volume 12 Issue 1, January 1965, pp. 42–52.
Append the following text to the 2nd paragraph that starts with "The presence of EXI Options in its entirety is optional in EXI header"
When the EXI Options document is present the effective EXI options MUST be computed by starting with the default values fromTable 5-1, and applying on that, the options from the EXI Options document. Note: the EXI option schemaId is special in this regard given that it does not have a default value. Hence, when the "schemaId" element is absent the schema information used to encode the EXI body MUST be communicated out of band.and change the default values inTable 5-1 as follows:
Insert the following clarification just before the sentence "Below is a brief description of each EXI option.":
Setting particular values to some of the EXI options may affect, or involve a trade-off among, the processing speed, the level of compactness and the amount of memory required during processing.
Add the following sentence after the end of the second sentence of the paragraph that starts with "[Definition:] The selfContained option....":
The use of self-contained elements results in EXI streams which require more runtime memory during processing compared to equivalent streams without selfContained elements.
The first sentence in the paragraph that starts with "[Definition:] The valueMaxLengthoption specifies ...." reads:
The valueMaxLength option specifies the maximum length ofvalue content items to be considered for addition to the string table
Change that sentence to:
The valueMaxLength option specifies the maximum number of characters forvalue content items represented with7.1.10 String to be considered for addition to the string table.
Add the following sentence at the end of the paragraph that starts with "[Definition:] The valueMaxLengthoption specifies ....":
Large or "unbounded" values of the valueMaxLength option can lead to higher memory consumption in exchange for smaller sized EXI streams as compared to equivalent streams with small values of the valueMaxLength option. Setting valueMaxLength to 0 disables the "local" and "global" value partitions of the string table which has the same effect as setting valuePartitionCapacity to 0.
Add the following at the end of the paragraph that starts with "[Definition:] The valuePartitionCapacity option ...."
Large or "unbounded" values of the valuePartitionCapacity option lead to higher memory consumption in exchange for smaller sized EXI streams as compared to equivalent streams with small values of the valuePartitionCapacity option. Setting valuePartitionCapacity to 0 disables the "local" and "global" value partitions of the string table which has two consequences: 1) lower memory usage during processing compared to "unbounded" valuePartitionCapacity case with difference in memory consumption proportional to the number and the size of the string value content items in the stream; 2) larger EXI stream compared to "unbounded" valuePartitionCapacity case with difference in size proportional to the number and the size of the repeating string value content items in the stream.
Add the following at the end of the paragraph that starts with "[Definition:] The blockSize option specifies ....":
The element "blockSize" SHOULD NOT appear in an EXI options document when the "compression" element is absent or the alignment option has value different from pre-compression.
Fix typo in event code definition (see6 January 2015)
Added: 6 January 2015Clarify some descriptions of the EXI grammars and their use for encoding and decoding. (see18 October 2014 (1),18 October 2014 (2),18 October 2014 (3))
Added: 18 October 2014Clarify the default value of the EXI Option datatypeRepresentationMap and user defined meta-data and mention that schemaId is special w.r.t. the EXI Options document. (see23 September 2014)
Added: 23 September 2014Clarification of the effect of some EXI Options on processing speed, the level of compactness and the amount of memory required during processing. (see01 September 2014)
Added: 01 September 2014Emphasize that including "blockSize" in the EXI Options has no effect and should be avoided when "compression" or "pre-compression" is not enabled. (see01 September 2014)
Added: 01 September 2014