W3C home > Mailing lists > Public > public-exi@w3.org > March 2008

Re: [EXI] Significance of Fidelity Option preserve.lexicalvalues

From: Jaakko Kangasharju <jkangash@hiit.fi>
Date: Tue, 25 Mar 2008 12:01:13 +0200
To: santhana@huawei.com
Cc: public-exi@w3.org
Message-ID: <tt3myon86mu.fsf@lugburz.hiit.fi>

santhanakrishnan <santhana@huawei.com> writes:

>        What is the significance of the fidelity option
> preserve.lexicalValues? What is the effect of this option on Element Names
> when set or unset?

The lexicalValues preservation option only affects text content and
attribute values, not element or attribute names at all.

When there is external type information, such as from a schema, the
usual case in EXI is to encode typed data according to its datatype.
The lexicalValues preservation option disables this and causes all
such data to be encoded as strings.  For instance, if the Infoset to
be encoded contains a value "00123" that the schema defines to be an
xsd:integer, normal EXI encoding will encode it as the integer 123
(taking up one octet in the EXI document), but with this preservation
option on, it will be encoded as the string "00123" (taking up six
octets, one for length and one for each of the characters, in the EXI
document).

This option is expected to be used when not just the typed value but
its precise lexical representation is important.  As you can see from
the example above, normal EXI encoding cannot distinguish between
"123" and "00123" as representations of the integer 123.  For example,
when signing XML documents, it is important that the receiver can
produce the exact same content that was signed by the sender, so if a
signed document is sent as EXI, it is important to turn on certain
preservation options, including lexicalValues, to ensure everything
works.

See also sections 3.2 and 3.3 of the EXI Best Practices document
(http://www.w3.org/TR/exi-best-practices/).

-- 
Jaakko Kangasharju, Helsinki University of Technology
Lame homepage at http://www.iki.fi/ashar/
Received on Tuesday, 25 March 2008 10:02:03 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 1 October 2008 18:12:36 GMT