Benoit POSTE wrote:
>
> John Larmouth wrote:
> > Benoit POSTE wrote:
> > > Or is the presence of each addition compulsory (baring DEFAULT
> > > or OPTIONAL components) if a later addition is present?
> > Yes. Presence of a later addition makes presence of an earlier one
> > mandatory. If the earlier one contains only optional elements, then the
> > flags that say whether they are present or not are mandatory, the actual
> > elements may be missing.
>
> Thanks Mr. Larmouth for answering that quickly.
> Just two more questions that arose from your answer ...
>
> If we consider a type with 3 additions (no OPTIONAL nor
> DEFAULT). Presence of the 3rd addtition makes presence of the 1st
> and 2nd ones mandatory. It is still legal to have a value with
> only the 1st and 2nd, but not the 3rd, right?
There may be some confusion (that I have caused) here on what is an
addition.
I was referring to additions added using version brackets - I *think*
you were, but I am not sure now.
An addition group in version brackets has to be present (or the flags
saying elements are not present) in its entirety if a later one is
present.
However, if you do not use version brackets, then each extension
addition becomes a single addition group (implicitly in its own version
brackets), and tail-end additions can then be omitted, because you can
"pretend" you are an earlier version.
> And a PER question. If we have only OPTIONAL elements in an
> addition group, which are all missing. Then only the preamble
> mapping bit corresponding to that addition is mandatory, not the
> sequence-like presence flags for each element, right? (I seem to
> remember X.691 saying that the addition is considered non-present
> if all elements are absent)
I need to check the spec on that, so will let someone else answer. I
also recollect similar text, but I am not sure. Wait for another reply.
John L