ASN.1 allows for extensible SEQUENCE
and
CHOICE
types. Such types include
a ...
marker in the definition. Later versions of
the schema may add new elements to extensible types, and these will be
unknown extension additions to any code that is based on the older
version of the schema.
PER encodes extension additions for SEQUENCE
and
CHOICE
types as open types, and fragmentation is
possible. Unknown extension additions (including unknown extension
addition groups in a SEQUENCE
) are treated as a
single component by the event handler. If your event handler consumes
such an addition, it will need to deal with the open type encoding and
the possible fragmentation.
For known extension additions, the component event will fire for
each individual element. Your event handler will not need to worry
about fragmentation or open types. If, however,
-perindef
is not used and a known extension is
fragmented, an error will result.