Is it possible to decode XML into an interface type with Go 1.3?

For example, if the structs look something like this (simplified):

type Field interface { ... } // DataField and ControlField satisfy Field interface type DataField struct { ... } // <- One concrete type, with XML tags type ControlField struct { ... } // <- Another concrete type, with XML tags type Record struct { Fields []Field // <- Field is an interface } ... // we want to decode into a record, e.g. var record Record decoder.DecodeElement(&record, &se) ...

As far as I can see, it is possible to decode XML with the concrete types, e.g.:

type Record struct { ControlFields []ControlField // <- Using concrete type works DataFields []DataField // <- Using concrete type works }

But the interface type fails, although the implementations are annotated with the correct XML tags.

For a runnable example, see http://play.golang.org/p/tPlw4Y74tt or as gist.