Extensible Types

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.