The resulting domain XML is actually perfectly valid.  The problem is that, once you run and/or modify the VM in virt-manager, it may no longer be valid and must be hand-modified.