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

Reply via email to