InfObjExtract DEFINITIONS AUTOMATIC TAGS ::= BEGIN DATA-CLASS ::= CLASS { &id INTEGER UNIQUE, &Type } WITH SYNTAX { ID &id TYPE &Type } data-object-1 DATA-CLASS ::= { ID 1 TYPE BOOLEAN } data-object-2 DATA-CLASS ::= { ID 2 TYPE OCTET STRING } data-object-3 DATA-CLASS ::= { ID 3 TYPE BIT STRING } ObjSet DATA-CLASS ::= { holder-object-1.&obj | data-object-2 | data-object-3, ... } OBJ-SET DATA-CLASS ::= { holder-object-1.&obj | data-object-2 | data-object-3, ... } holder-object-1 HOLDER-CLASS ::= { OBJ data-object-1 } holder-object-2 HOLDER-CLASS ::= { OBJ-SET {data-object-1} } holder-object-3 HOLDER-CLASS ::= { OBJ-SET {holder-object-2.&ObjSet} } -- Note: References to object sets with names in all uppercase/hyphens -- may be represented differently compared to object sets with names -- that contain lowercase letters. CAVEAT TESTOR. HOLDER-OBJECTS HOLDER-CLASS ::= { holder-object-2 } HolderObjects HOLDER-CLASS ::= { holder-object-3 } holder-object-4 HOLDER-CLASS ::= { OBJ-SET { HOLDER-OBJECTS.&ObjSet } } holder-object-5 HOLDER-CLASS ::= { OBJ-SET { HolderObjects.&ObjSet } } holder-object-6 HOLDER-CLASS ::= { OBJ-SET { OBJ-SET } } holder-object-7 HOLDER-CLASS ::= { OBJ-SET { ObjSet } } HOLDER-CLASS ::= CLASS { &obj DATA-CLASS OPTIONAL, &ObjSet DATA-CLASS OPTIONAL } WITH SYNTAX { [OBJ &obj] [OBJ-SET &ObjSet] } TestSeq{DATA-CLASS:ObjectSet} ::= SEQUENCE { id DATA-CLASS.&id ({ObjectSet}), data DATA-CLASS.&Type ({ObjectSet}{@id}) } DataSeq-1 ::= TestSeq{ {ObjSet} } DataSeq-2 ::= TestSeq{ {holder-object-3.&ObjSet} } DataSeq-3 ::= TestSeq{ {holder-object-4.&ObjSet} } DataSeq-4 ::= TestSeq{ {holder-object-5.&ObjSet} } DataSeq-5 ::= TestSeq{ {holder-object-6.&ObjSet} } DataSeq-6 ::= TestSeq{ {holder-object-7.&ObjSet} } END