Slide 14 of 41
Notes:
To avoid ambiguity, a different tag is needed to form the T part of each choice in such cases.
ASN.1 provides notation - the numbers in square brackets in PersonnelRecord:
Research-division ::= CHOICE {product-based [0] NULL,
to over-ride the default tag.
In ASN.1-based protocols specified after 1994, this change of tag can be left as an automatic action performed by the encoding rules, but initially it was felt important to make the user take control. Suppose version 1 had just the two NULL choices, but in version 2 we have
Research-division ::= CHOICE {product-based NULL,
then automatic assignment of tags would produce tag [1] for basic in version 1, but tag [2} for basic in version 2 - an undesirable trap for the designer!