On Thu, Mar 31, 2011 at 01:23:01PM -0600, Eric Blake wrote:
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>
^
just drop --valid from the command line, xmllint usually doesn't
check validity. But IMHO it's simpler to just drop the --html flag from
xsltproc as suggestedon previous mail
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).
Yup the input should just be expected to be well-formed not valid,
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/