docbook-apps

Re: [xslt] I/O error : Is a directory - error processing a DB book with docbook-xsl chunk stylesheet

  • 1.  Re: [xslt] I/O error : Is a directory - error processing a DB book with docbook-xsl chunk stylesheet

    Posted 11-22-2007 03:55
    Am Mittwoch, den 21.11.2007, 18:40 -0500 schrieb Daniel Veillard:
    > On Wed, Nov 21, 2007 at 06:55:20PM +0100, Daniel Leidert wrote:
    > > Hi libxslt authors,
    > >
    > > Some time ago I already reported this issue [1], but it seems I forgot
    > > to examine it further. Today I got a private mail about the same problem
    > > so I decided to find a testcase to debug the problem and I was able to
    > > create a very short example, that fails for me with an I/O.
    > >
    > > Can you please be so kind to take a look at it and verify, if it's a bug
    > > in libxslt? In this case I would open a bug report. Please follow these
    > > steps after saving the attached files:
    > >
    > > mkdir built-doc
    > > xsltproc --output ./built-doc/ book.xsl book.xml
    > >
    > > The result for me is:
    > >
    > > Writing ch01.html for chapter
    > > Writing index.html for book
    > > I/O error : Is a directory
    > > I/O error : Is a directory
    >
    > Can you run with -v to see what it is trying to do at that point.

    It seems to close everything and then it throws this error. I uploaded
    the whole output to [1]. If I run it withpout the --output option and
    compare the resultng log to the one, that fails, then I cannot find
    compelling differences except, the last lines that differ:

    > [..]
    > found variable 'generate.manifest'
    > xsltIf: test evaluate to 0
    > Shutting down module : http://icl.com/saxon
    > -I/O error : Is a directory
    > -I/O error : Is a directory
    > freeing transformation dictionary
    > freeing dictionary from stylesheet
    > freeing dictionary from stylesheet
    > freeing dictionary from stylesheet
    > freeing dictionary from stylesheet
    > +HTML DOCUMENT
    > +encoding=UTF-8
    > +standalone=true
    > + DTD(html), PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN, SYSTEM http://www.w3.org/TR/html4/loose.dtd

    Not sure if that helps. These last 4 lines (prefixed with the '+' here)
    seem to be the related to the cause of the problem. Is it related to ...

    [..]
    > > The problem seems to be related to the --output option and the doctype-*
    > > attributes of xsl:output, because if you don't use --output option or
    > > remove the doctype-* attributes, then the example does not fail.
    >
    > Maybe the doctype-* attributes force the presence of a DTD node so
    > the main document is not empty and you get the error, that does not
    > sound wrong. What you want to do is set doctypes for the chunks, and
    > that should be done on the exslt:document element and not on the
    > main stylesheet output definition.

    ... this comment? To be honest, docbook-xsl sets the encoding and
    doctype values via own parameters, that are then given to the
    exslt:document function. So giving the doctype* attributes via
    xsl:output is not necessary (and normally done via parameters), but also
    not wrong, even for chunked output. But is it a bug, that xsltproc fails
    in this case? If not: Should there maybe be a comment (in a LIMITATIONS
    section) in the manpage (and other related documentation) about this
    issue?

    [1] http://debian.wgdd.de/temp/error_11/
    (be careful: the logs are about 1.5 MB)

    Regards, Daniel