
-- OK: Everything is Fine

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

ModuleTestXERDecoding
	{ iso org(3) dod(6) internet(1) private(4) enterprise(1)
		spelio(9363) software(1) asn1c(5) test(1) 70 }
	DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
	/*
	 * This module defines several types for the XER decoder testing
	 * environment (defined elsewhere).
	 */

	PDU ::= CHOICE {
		sequence		Sequence,
		set			Set,
		setOf			SetOf,
		sequenceOf		SequenceOf,
		extensibleSet		ExtensibleSet,
		extensibleSequence	ExtensibleSequence,
		extensibleSequence2	ExtensibleSequence2,
		setOfNULL		SetOfNULL,
		setOfEnums		SetOfEnums,
		seqOfZuka		SeqOfZuka,
		...
	}

	Sequence ::= SEQUENCE {
		integer		INTEGER,
		sequence	Sequence   OPTIONAL,	-- backreference
		bits		BIT STRING OPTIONAL,
		string		UTF8String
	}

	Set ::= SET {
		roid		RELATIVE-OID,
		opaque		OCTET STRING	OPTIONAL
	}

	ExtensibleSet ::= SET {
		string	UTF8String OPTIONAL,
		...,
		enum	ENUMERATED { b, a }
	}

	ExtensibleSequence ::= SEQUENCE {
		string	UTF8String OPTIONAL,
		...,
		integer	INTEGER	OPTIONAL,
		gtime	GeneralizedTime
	}

	ExtensibleSequence2 ::= SEQUENCE {
		string	UTF8String OPTIONAL,
		...,
		integer	INTEGER	OPTIONAL
	}

	SetOf ::= SET OF REAL
	SetOfNULL ::= SET OF NULL
	SetOfEnums ::= SET OF ENUMERATED { one, oneMore }
	SequenceOf ::= SEQUENCE OF id INTEGER { one(1), two(2) }
	SeqOfZuka ::= SEQUENCE OF zuka NULL

END
