Setting the T values
Pre-1994, the user had to change the tag in such cases
The numbers in square brackets in PersonnelRecord change the tag
Users were made responsible for tag values to avoid extensibility problems
You will shortly learn the rules for when tags have to be changed.
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!