Re: Docs failing to build

Markus Hoenicka <[email protected]> Thu, 31 Aug 2006 16:16:31 +0200
Newsgroups gmane.text.refdb.devel
Message-ID <[email protected]>
Hi,

David Nebauer <[email protected]>:

> More specifically, the error is caused by the inclusion of '../doc/' in
> specifying the stylesheet.  It makes no difference whether included or
> not in the source xml file name.

That is what I suspected. To the best of my knowledge the shell does not
canonicalize the path, i.e. the '../doc/<path>' is passed literally to
xsltproc. This works ok if the strings are used for regular "open()" or
"fopen()" calls. Therefore xsltproc finds both the XML file and the XSLT
stylesheet. However, to resolve the "xsl:include" in the stylesheet, an xslt
processor probably applies a different logic (the path could be an URL too). I
suspect that xsltproc expects a canonicalized path at that point.

> xmlstarlet uses the same underlying library ('libxslt1.1') but happily
> creates a viable FO file even when the offending '../doc/' is included.
> The following command works:
>
>     xmlstarlet tr --xinclude ../doc/include/manual-fo.xsl \
>     ../doc/refdb-manual.xml > refdb-manual.fo
>

This is even more confusing result. The "xsl:include" handling is certainly a
part of the library, not a part of the xsltproc application itself.

> It would appear to be an xsltproc-specific bug.
>

More specifically, an xsltproc-on-Debian-specific bug. I've compared the patches
that Debian and FreeBSD apply to the sources in their package and port,
respectively. I don't see anything that would explain why things work ok on
FreeBSD but not on Debian.

One last chance: Can you verify with xsltproc --version that you invoke the
right binary and the right libraries?

regards,
Markus

-- 
Markus Hoenicka
[email protected]
(Spam-protected email: replace the quadrupeds with "mhoenicka")
http://www.mhoenicka.de


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642