Other Applications
Application |
Supported (Y/N) |
Example |
Remarks |
|---|---|---|---|
Value assignment |
Y |
MyType ::= INTEGER MyValue MyType ::= 10 |
- |
Alias |
Y |
MyInt1 ::= INTEGER(0..128) MyInt2 ::= MyInt1 MyInt3 ::= MyInt2 |
- |
IMPORTS |
Y |
-- Define a module A: A DEFINITIONS::=BEGIN MyType ::= INTEGER END -- Define a module B that introduces MyType of module A: B DEFINITIONS ::= BEGIN IMPORTS MyType FROM A; MyOtherType ::= MyType END |
EXPORTS is not supported. By default, all types are exported. |
Recursive definition |
N |
RecursiveSeq ::= SEQUENCE {data INTEGER(0..128), next RecursiveSeq} |
- |
Circular reference |
N |
CircularSequence1 ::= SEQUENCE {name OCTET STRING, cs2 CircularSequence2 OPTIONAL} CircularSequence2 ::= SEQUENCE {cs 1 CircularSequence1} |
- |
Internal type constraint |
Y |
InnerTypeCstrType ::= SEQUENCE {a OCTET STRING(SIZE(1..3)),b INTEGER(10..20),c BOOLEAN OPTIONAL}InnerTypeCstrSeqType ::= InnerTypeCstrType (WITH COMPONENTS {a ABSENT,b (15..20) PRESENT,c OPTIONAL}) |
A type with an internal type constraint is used as a reference type and the constraint is invalid. |
Content constraint |
Y |
ContentCstrType ::= SEQUENCE { data OCTET STRING (CONTAINING ContentCstrSeqType) }ContentCstrBoolType ::= BOOLEAN |
The content of a member with content constraints is not verified during encoding and decoding. |