It seems that virt-xml-validate doesn't validate what *has* to be valid XML, that generated by virsh dumpxml against a running domain: [root@etc752365a ~]# virsh list Id Name State ---------------------------------- 2 rhel55 running 3 rhel53 running [root@etc752365a ~]# virsh dumpxml rhel55 > foo.xml [root@etc752365a ~]# virt-xml-validate foo.xml foo.xml:8: element type: Relax-NG validity error : Invalid attribute arch for element type foo.xml:9: element boot: Relax-NG validity error : Element os failed to validate content foo.xml:8: element type: Relax-NG validity error : Error validating value foo.xml:8: element type: Relax-NG validity error : Element type failed to validate content foo.xml:1: element domain: Relax-NG validity error : Invalid sequence in interleave foo.xml:1: element domain: Relax-NG validity error : Element domain failed to validate content foo.xml fails to validate Is there something that I'm doing wrong here? This is the libvirt that comes with RHEL5.5