[libvirt] [PATCH] docs: Create html documentation even if XHTML1 DTD is not available to validate
Michal Privoznik
mprivozn at redhat.com
Thu Dec 4 11:01:34 UTC 2014
On 28.11.2014 15:36, Ian Campbell wrote:
> On a Debian system lacking the w3c-dtd-xhtml package the build fails
> with:
>
> $ make -C docs/ formatcaps.html
> make: Entering directory '/local/scratch/ianc/devel/libvirt.git/docs'
> Generating formatcaps.html.tmp
> I/O error : Attempt to load network entity http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
> formatcaps.html.in:2: warning: failed to load external entity "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
> C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
> ^
> I/O error : Attempt to load network entity http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
> ../docs/sitemap.html.in:2: warning: failed to load external entity "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
> C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
> ^
> missing XHTML1 DTD
> rm formatcaps.html.tmp
> make: Leaving directory '/local/scratch/ianc/devel/libvirt.git/docs'
> $ ls docs/formatcaps*
> docs/formatcaps.html.in
>
> https://www.redhat.com/archives/libvir-list/2009-November/msg00413.html
> suggests that the XHTML1 DTD should not be a hard requirement and the
> docs should be generated but not validated if it is not available.
>
> Therefore when the DTD is not available arrange for the .html.tmp file
> to be propagated to the .html output.
>
> Signed-off-by: Ian Campbell <ian.campbell at citrix.com>
> Cc: Daniel Veillard <veillard at redhat.com>
> ---
> docs/Makefile.am | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/docs/Makefile.am b/docs/Makefile.am
> index 5485ee9..c5ba688 100644
> --- a/docs/Makefile.am
> +++ b/docs/Makefile.am
> @@ -232,7 +232,7 @@ internals/%.html.tmp: internals/%.html.in subsite.xsl page.xsl sitemap.html.in
> SGML_CATALOG_FILES='$(XML_CATALOG_FILE)' \
> $(XMLLINT) --catalogs --nonet --format --valid $< > $(srcdir)/$@ \
> || { rm $(srcdir)/$@ && exit 1; }; \
> - else echo "missing XHTML1 DTD" ; fi ; fi
> + else echo "missing XHTML1 DTD"; cat $< > $(srcdir)/$@ ; fi ; fi
>
> %.php.tmp: %.php.in site.xsl page.xsl sitemap.html.in
> @if [ -x $(XSLTPROC) ] ; then \
> @@ -258,7 +258,7 @@ html/index.html: libvirt-api.xml newapi.xsl page.xsl sitemap.html.in
> > /dev/null ; then \
> SGML_CATALOG_FILES='$(XML_CATALOG_FILE)' \
> $(XMLLINT) --catalogs --nonet --valid --noout $(srcdir)/html/*.html ; \
> - else echo "missing XHTML1 DTD" ; fi ; fi
> + else echo "missing XHTML1 DTD"; cat $< > $(srcdir)/$@ ; fi ; fi
>
> $(addprefix $(srcdir)/,$(devhelphtml)): $(srcdir)/libvirt-api.xml $(devhelpxsl)
> $(AM_V_GEN)if [ -x $(XSLTPROC) ] ; then \
>
I believe that running xmllint on Linux is successful. It surely is on
systems that are missing the package.
ACKed and pushed.
Michal
More information about the libvir-list
mailing list