
-- 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,
		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
	}

	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
