I am confused about the tagging of CHOICE elements for which user-defined
tags are not specified.
It is my understanding that in an environment of implicit tagging, a
user-defined tag for a CHOICE element must be EXPLICIT:
FOO DEFINITIONS IMPLICIT TAGS ::=
BEGIN
Sequence ::= SEQUENCE
{
utf8String [0] IMPLICIT UTF8String OPTIONAL,
-- choice must be explicitly tagged.
choice [1] EXPLICIT Choice OPTIONAL
}
Choice ::= CHOICE
{
printableString PrintableString,
integer INTEGER
}
END
and if the EXPLICIT keyword is not specified for the element choice (above),
the element will be "implicitly" (sorry for the choice of word) tagged
EXPLICIT.
What happens if user-defined tags are not specified? In the following
example, is the element choice implicitly tagged:
FOO DEFINITIONS IMPLICIT TAGS ::=
BEGIN
Sequence ::= SEQUENCE
{
utf8String UTF8String OPTIONAL,
choice Choice OPTIONAL
}
Choice ::= CHOICE
{
printableString PrintableString,
integer INTEGER
}
END
Thanks.
Frank