ModuleClassSample { iso org(3) dod(6) internet(1) private(4) enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 99 } DEFINITIONS ::= BEGIN SAMPLE-CLASS ::= CLASS { &id RELATIVE-OID UNIQUE, &code ENUMERATED { request(0), response(1), status(2) } DEFAULT 0, &Type OPTIONAL } WITH SYNTAX { [TYPE &Type] [WITH CODE &code] IDENTIFIED BY &id } -- Class matrix has 4 entries: -- [ &id][ &code][ &Type] -- [1] request-whatever -- [2] response-stuff 1 -- [3] request-id 2 SampleType -- [4] request-salt Salt SampleClassObjectSet SAMPLE-CLASS ::= {{ IDENTIFIED BY request-whatever } | { WITH CODE 1 IDENTIFIED BY response-stuff } | { TYPE SampleType WITH CODE 2 IDENTIFIED BY request-id } | { TYPE Salt IDENTIFIED BY request-salt }} request-Whatever SAMPLE-CLASS ::= { IDENTIFIED BY request-whatever } respond-Stuff SAMPLE-CLASS ::= { WITH CODE 1 IDENTIFIED BY response-stuff } request-Status SAMPLE-CLASS ::= { TYPE SampleType WITH CODE 2 IDENTIFIED BY request-id } request-Salt SAMPLE-CLASS ::= { TYPE Salt IDENTIFIED BY request-salt } request-id RELATIVE-OID ::= { 1 1 1 } request-salt RELATIVE-OID ::= { 1 1 1 } request-whatever RELATIVE-OID ::= { 1 1 5 } response-stuff RELATIVE-OID ::= { 2 0 1 } SampleType ::= SEQUENCE { ... } Salt ::= SET { ... } END