class ArraySwitchStruct(Struct): array1 = array( one_of( integer(signed=False, endianness=Big, validate=lambda x: x < 0x10), integer(signed=False, endianness=Big, validate=lambda x: x > 0x20)))
class VariableSizeSwitchStruct(Struct): value = one_of(string(size=20), integer(endianness=Big))
class ComplexSwitchStruct(Struct): value = one_of(embed(EmbeddedSwitchStruct1), embed(EmbeddedSwitchStruct2))
class SwitchStruct(Struct): int_a = one_of( integer(signed=False, endianness=Big, validate=lambda x: x < 50), integer(signed=False, endianness=Little, validate=lambda x: x > 100))
class EXSFile(Struct): objects = array_of(one_of( EXSHeader, EXSZone, EXSGroup, EXSSample, EXSParam))