
-- OK: Everything is fine

-- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1)
-- .spelio.software.asn1c.test (9363.1.5.1)
-- .156

ModuleParameterizationMoreThanTwoLevel
	{ iso org(3) dod(6) internet(1) private(4) enterprise(1)
		spelio(9363) software(1) asn1c(5) test(1) 156 }
DEFINITIONS ::= BEGIN

    TOTAL-CLASS SAMPLE-CLASS ::= {
        CLASS-1   |
	CLASS-2,	
	...
    }

    CLASS-1 SAMPLE-CLASS ::= {
        item1-1                  |
        item1-2,
        ...,
        item1-3
    }

    CLASS-2 SAMPLE-CLASS ::= {	
	item2-1,
	...,
        item2-2  |
        item2-3
    }

    SAMPLE-CLASS ::= CLASS {
        &id     RELATIVE-OID UNIQUE,
        &code   ENUMERATED { request, response, status }
        DEFAULT request,
        &Type   OPTIONAL
    } WITH SYNTAX { [TYPE &Type] [WITH CODE &code] IDENTIFIED BY &id }

    item1-1 SAMPLE-CLASS ::= { IDENTIFIED BY id1-1 }

    item1-2 SAMPLE-CLASS ::= { WITH CODE 1 IDENTIFIED BY id1-2 }

    item1-3 SAMPLE-CLASS ::= { TYPE SampleType WITH CODE 2 IDENTIFIED BY id1-3 }

    item2-1 SAMPLE-CLASS ::= { IDENTIFIED BY id2-1 }

    item2-2 SAMPLE-CLASS ::= { WITH CODE 1 IDENTIFIED BY id2-2 }

    item2-3 SAMPLE-CLASS ::= { TYPE SampleType WITH CODE 2 IDENTIFIED BY id2-3 }

    id1-1 RELATIVE-OID ::= { 1 1 }
    id1-2 RELATIVE-OID ::= { 1 2 }
    id1-3 RELATIVE-OID ::= { 1 3 }
    id2-1 RELATIVE-OID ::= { 2 1 }
    id2-2 RELATIVE-OID ::= { 2 2 }
    id2-3 RELATIVE-OID ::= { 2 3 }

    SampleType ::= SEQUENCE { ... }
    Salt ::= SET { ... }

END
