On Thu, Mar 31, 2011 at 11:15:34AM -0600, Eric Blake wrote:
On 03/31/2011 07:58 AM, Daniel P. Berrange wrote:
>
> - We run xmllint, but failures in xmllint validation
> are not causing a build failure
We already have code in place to call 'exit 1' on xmllint failure (but
not in all places). However, in my testing, it was xsltproc that is not
throwing an error:
$ /usr/bin/xsltproc --stringparam pagename $name --nonet --html
../docs/site.xsl formatdomain.html.in > formatdomain.html.tmp
formatdomain.html.in:356: HTML parser error : Unexpected end tag : vcpu
required attributes, the attribute <code>vcpu</vcpu> specifies
vcpu id,
^
$ echo $?
0
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
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|