docbook-apps

  • 1.  How to customize a template from division.xsl?

    Posted 08-10-2014 16:56
    I'm trying to customize the *book* template from the dvision.xls stylesheet
    and run into an error for xsltproc. At this point, I'm not even changing
    the template, but simply putting a copy of it in my customization file
    produces the error, "I/O error : Is a directory" (happens when chunking the
    index.html file).

    <xsl:template match="book">
    <xsl:call-template name="id.warning"/>


    <xsl:apply-templates select="." mode="common.html.attributes"/>
    <xsl:call-template name="id.attribute">
    <xsl:with-param name="conditional" select="0"/>
    </xsl:call-template>

    <xsl:call-template name="book.titlepage"/>

    <xsl:apply-templates select="dedication" mode="dedication"/>
    <xsl:apply-templates select="acknowledgements" mode="acknowledgements"/>

    <xsl:variable name="toc.params">
    <xsl:call-template name="find.path.params">
    <xsl:with-param name="table"
    select="normalize-space($generate.toc)"/>
    </xsl:call-template>
    </xsl:variable>

    <xsl:call-template name="make.lots">
    <xsl:with-param name="toc.params" select="$toc.params"/>
    <xsl:with-param name="toc">
    <xsl:call-template name="division.toc">
    <xsl:with-param name="toc.title.p" select="contains($toc.params,
    'title')"/>
    </xsl:call-template>
    </xsl:with-param>
    </xsl:call-template>

    <xsl:apply-templates/>

    </xsl:template>

    Is this likely a problem with precedence? If so, any idea what I need to do
    to be able to include this template in my customization layer?

    BTW, I'm using the 1.78.1 stylesheets.

    Thanks,
    Ken



  • 2.  Re: [docbook-apps] How to customize a template from division.xsl?

    Posted 08-10-2014 18:06
    Hi Ken,
    Customization of the chunking stylesheet requires a two-file setup.
    That process, and the background about why it is needed, is described here:

    http://www.sagehill.net/docbookxsl/ChunkingCustomization.html

    The problem you ran into is that the chunking stylesheet processes each
    chunk element twice: to make it into a chunk file, and to format the
    content of the element within that file. Copying the formatting
    template to the main chunking stylesheet (the one you apply to your
    file) messes up the first part, leading to that odd error message.

    Bob Stayton
    Sagehill Enterprises
    bobs@sagehill.net

    On 8/10/2014 9:56 AM, Ken Morse wrote:
    > I'm trying to customize the /book/ template from the dvision.xls
    > stylesheet and run into an error for xsltproc. At this point, I'm not
    > even changing the template, but simply putting a copy of it in my
    > customization file produces the error, "I/O error : Is a directory"
    > (happens when chunking the index.html file).
    >
    > <xsl:template match="book">
    > <xsl:call-template name="id.warning"/>
    >
    >

    > <xsl:apply-templates select="." mode="common.html.attributes"/>
    > <xsl:call-template name="id.attribute">
    > <xsl:with-param name="conditional" select="0"/>
    > </xsl:call-template>
    >
    > <xsl:call-template name="book.titlepage"/>
    >
    > <xsl:apply-templates select="dedication" mode="dedication"/>
    > <xsl:apply-templates select="acknowledgements"
    > mode="acknowledgements"/>
    >
    > <xsl:variable name="toc.params">
    > <xsl:call-template name="find.path.params">
    > <xsl:with-param name="table"
    > select="normalize-space($generate.toc)"/>
    > </xsl:call-template>
    > </xsl:variable>
    >
    > <xsl:call-template name="make.lots">
    > <xsl:with-param name="toc.params" select="$toc.params"/>
    > <xsl:with-param name="toc">
    > <xsl:call-template name="division.toc">
    > <xsl:with-param name="toc.title.p"
    > select="contains($toc.params, 'title')"/>
    > </xsl:call-template>
    > </xsl:with-param>
    > </xsl:call-template>
    >
    > <xsl:apply-templates/>
    >

    > </xsl:template>
    >
    > Is this likely a problem with precedence? If so, any idea what I need to
    > do to be able to include this template in my customization layer?
    >
    > BTW, I'm using the 1.78.1 stylesheets.
    >
    > Thanks,
    > Ken
    >