docbook-apps

  • 1.  Re: [docbook-apps] can't compile doc with colophon

    Posted 11-21-2010 20:12
    Indeed, you have uncovered a bug in the stylesheets. The stylesheets put an article
    into an fo:page-sequence, but the only template for colophon also tries to create an
    fo:page-sequence. Since you cannot nest fo:page-sequence, this does not work.
    Instead, a colophon inside an article should be handled in with a separate template a
    manner similar to the way an appendix inside an article is handled: without starting
    another fo:page-sequence.

    If you want to file a bug report on the DocBook SourceForge site, that would be great.

    In the meantime, you will need to add a new template in your customization layer to
    fix this problem. You could copy the template with match="d:colophon" from
    fo/component.xsl, and make these changes:

    1. Change the match to match="d:article/d:colophon".

    2. Remove all the fo:page-sequence stuff, leaving just:

    <xsl:variable name="id">
    <xsl:call-template name="object.id"/>
    </xsl:variable>

    <fo:block id="{$id}"
    xsl:use-attribute-sets="component.titlepage.properties">
    <xsl:call-template name="colophon.titlepage"/>
    </fo:block>
    <xsl:apply-templates/>

    Bob Stayton
    Sagehill Enterprises
    bobs@sagehill.net





  • 2.  Re: [docbook-apps] can't compile doc with colophon

    Posted 11-23-2010 19:43
    Le 21/11/2010 21:12, Bob Stayton a écrit :
    >
    > Indeed, you have uncovered a bug in the stylesheets. The stylesheets
    > put an article into an fo:page-sequence, but the only template for
    > colophon also tries to create an fo:page-sequence. Since you cannot
    > nest fo:page-sequence, this does not work. Instead, a colophon inside
    > an article should be handled in with a separate template a manner
    > similar to the way an appendix inside an article is handled: without
    > starting another fo:page-sequence.
    >
    > If you want to file a bug report on the DocBook SourceForge site, that
    > would be great.
    >

    OK.
    > In the meantime, you will need to add a new template in your
    > customization layer to fix this problem. You could copy the template
    > with match="d:colophon" from fo/component.xsl, and make these changes:
    >
    > 1. Change the match to match="d:article/d:colophon".
    >
    > 2. Remove all the fo:page-sequence stuff, leaving just:
    >
    > <xsl:variable name="id">
    > <xsl:call-template name="object.id"/>
    > </xsl:variable>
    >
    > <fo:block id="{$id}"
    > xsl:use-attribute-sets="component.titlepage.properties">
    > <xsl:call-template name="colophon.titlepage"/>
    > </fo:block>
    > <xsl:apply-templates/>
    >
    > Bob Stayton
    > Sagehill Enterprises
    > bobs@sagehill.net
    >
    Well, thank you very much.