On 03/31/2011 11:18 AM, Daniel P. Berrange wrote:
> That looks like a bug in xsltproc (here from Fedora
> libxslt-1.1.26-3.fc14.x86_64), since the man page states that $? should
> be 6 when there is an error in the document.
>
> I can work around it by sniffing for non-empty stderr; that will look
> yucky in the makefile, but is probably worth doing.
Hmm, so we've actually got two things to validate
- Welformed XML
- HTML schema compliance
The current xmllint run is doing the latter. We should also
run xmllint before xsltproc, so we can validate wellformedness
of the input HTML files. Thus avoiding reliance of xsltproc
exit status
Do you have a sample command line for how to make xmllint check that the
html.in file is well-formed XML? I just tried:
$ SGML_CATALOG_FILES='/etc/xml/catalog' /usr/bin/xmllint --catalogs
--nonet --format --valid formatcaps.html.in >/dev/null
formatcaps.html.in:1: validity error : Validation failed: no DTD found !
<html>
^
but that's obviously not right (it works on the post-processed generated
html document, but that's why we're generating the document, to add in
the rest of the boilerplate to the xml shell that makes it valid html).
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org