On Fri, Apr 01, 2011 at 09:25:45AM +0800, Daniel Veillard wrote:
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
it's because we are using --html, instructing libxml2 underneath to
use teh HTML parser to load the .html.in . And the HTML parser is just
reporting errors, not failing on them (as 99% of the HTML around is
just buggy).
> 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.
Well except for HTML input, remove the --html and see, maybe we could
do that in the Makefile and insist on the .html.in being well formed
in the first place.
> I can work around it by sniffing for non-empty stderr; that will look
> yucky in the makefile, but is probably worth doing.
Doesn't sound that great honnestly, try dropping --html instead and
see how it goes
Yes, that sounds reasonable. Our site.xsl file is already setup to
output XHTML, so we should treat our input as wellformed XHTML too,
rather than loose HTML.
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 :|