On Thu, Apr 16, 2009 at 01:57:06PM +0100, Daniel P. Berrange wrote: > On Thu, Apr 16, 2009 at 02:42:08PM +0200, Daniel Veillard wrote: > > On Thu, Apr 16, 2009 at 12:53:06PM +0100, Daniel P. Berrange wrote: > > > While we install our RNG schemas into the filesystem, and users could > > > use xmllint to validate them, it is a little tedious to use this way. > > > > > > This patch adds a nice simple command > > > > > > virt-xml-validate XML-FILE [SCHEMA-NAME] > > > > > > You can use it on any XML file format that libvirt knows about > > > > > > # virt-xml-validate ~/rhel5xen.xml > > > /home/berrange/rhel5xen.xml validates > > > #$ echo $? > > > 0 > > > > > > I normally figures out the SCHEMA-NAME from the top level element name, > > > but you can override it if desired > > > > > > # virt-xml-validate ~/bug.xml > > > virt-xml-validate: cannot determine schema type for /home/berrange/bug.xml > > > # virt-xml-validate ~/bug.xml domain > > > /home/berrange/bug.txt:1: parser error : Start tag expected, '<' not found > > > From bugzilla@xxxxxxxxxx Fri Feb 27 01:12:11 2009 > > > ^ > > > > Sounds good, I'm wondering a bit why it's better to separate it > > rather than make it a virsh command/ > > Well its not part of any libvirt API, and I don't want to require a > libvirt connection in order to use it. We've got alot of other virt-XXX > commands so I think its nicer to keep it separate. Right, I tend to think of virsh a bit too much as the generic toolbox maybe it should not end up like xmllint ;-) > > Hum, that doesn't really work in the general case, you can have > > plenty of stuff on the two first lines like the xml declaration > > or comments, or stylesheet PI ... > > I figured no one ever uses that stuff ;-P It's true that we don't preserve and save back comments so ... > > Instead I would use the streaming debug output to get the > > information whithout guess from the parser itself: > > > > xmllint --stream --debug $XMLFILE 2>/dev/null | grep "^0 1 " | awk > > '{ print $3 }' > > > > the root top level element will show up as 0 1 foo ... and there should > > be only one per document :-) > > Will change it to do that instead. It's just a tad bit nicer IMHO, ACK Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list