Optional decimal fields with individual operators
Alessio Mazzanti / List
22 Aug 2008 4:06AM ETHello,
I would need a clarification.
The handbook [section 10.5.1 -- Presence Map and NULL Utilization] says:
[...]If the decimal has optional presence, the exponent field is treated as an optional integer field and the mantissa field is treated as a mandatory integer field. The presence of the mantissa field and any related bits in the presence map are dependent on the presence of the exponent. The mantissa field appears in the stream iff the exponent value is considered present. If the mantissa has an operator that requires a bit in the presence map, this bit is present iff the exponent value is considered present.[...]
Let suppose I have the following decimal field in my template definition:
< decimal name="MDEntryPx" id="270" presence="optional" >
< exponent > < copy value="-2" / > < / exponent >
< mantissa > < delta / > < / mantissa >
< /decimal >
For the best of my comprehension in this case the exponent is optional, and has its own bit in pmap (due to the copy operator).
If that bit is not set (the exponent is not present in the stream for sure) then the mantissa will be not present in the stream as well.
1. Does the same worth if the bit in pmap is set but the exponent value is NULL?
2. What about the new previous value of the Scaled Number if the exponent has to be considered absent?
Moreover, the fact that the exponent bit in pmap is not set should not imply that the value of the exponent field will be not assigned (e.g. it should be assigned to the copy initial value, or to the previous value stored in the dictionary).
3.Let suppose the mantissa is not in the stream (because of the exponent absence), what does it imply in term of the mantissa field value, and in term of the mantissa new previous value?
Many thanks in advance.
Kind regards,
-- Ale