I have questions about inner subtyping. Given these two type definitions:
Parent ::= SEQUENCE
{
anOptionalThing INTEGER OPTIONAL,
anotherOptionalThing INTEGER OPTIONAL,
aRequiredThing INTEGER
}
Child ::= Parent WITH COMPONENTS { ..., anOptionalThing ABSENT }
does the WITH-COMPONENTS construct essentially create a new type, i.e.,
SEQUENCE
{
anotherOptionalThing INTEGER OPTIONAL,
aRequiredThing INTEGER
}
or does it merely apply a semantic constraint to the existing type, i.e.,
the anOptionalThing is still syntactically OPTIONAL but its _value_ is
constrained to not be present? For a PER encoding, the question could be
stated as, is there a presence bit (set to 0) in the bit-map preamble for
the anOptionalThing component, or is even its presence bit absent?
Likewise, would this:
Child ::= Parent WITH COMPONENTS { ..., anOptionalThing PRESENT }
result in this new type:
SEQUENCE
{
anOptionalThing INTEGER,
anotherOptionalThing INTEGER OPTIONAL,
aRequiredThing INTEGER
}
Paul Long
ipDialog, Inc.