docbook-apps

  • 1.  Rework of gentext.template in 1.76.0 broke custom contexts

    Posted 01-21-2013 20:06
    Hi all,

    I am currently upgrading from 1.75.2 to latest release, 1.78.0, and the
    gentext.template template broke for me. The reason is, I use custom context to
    provide localization for some non-standard context, for example "Run-in text
    for admonitions" as follows:

    <xsl:param name="local.l10n.xml" select="document('')"/>
    <l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
    <l:l10n language="en">
    ...
    <l:context name="admon-run-in">
    <l:template name="note" text="Note: "/>
    <l:template name="caution" text="Caution! "/>
    ...
    </l:context>
    </l:l10n>
    </l:i18n>

    This context is used in customization templates:

    <xsl:call-template name="gentext.template">
    <xsl:with-param name="context">admon-run-in</xsl:with-param>
    <xsl:with-param name="name" select="local-name(.)"/>
    </xsl:call-template>


    This works fine with 1.75.2. However, starting with 1.76.0, the
    gentext.template template was modified as follows:

    <xsl:variable name="local.template.node" .../>
    <xsl:for-each select="$context.node">
    ...
    <xsl:choose>
    <xsl:when test="$local.template.node/@text">
    <xsl:value-of select="$local.template.node/@text"/>
    </xsl:when>

    This change broke such "custom" contexts for l10n, as in such custom context
    $context.node is an empty nodeset (that is, there is no "default" string for
    this template). Therefore, the xsl:for-each loop is not executed at all and
    the local value is not returned by template even though it is defined.

    The attached patch restores pre-1.76.0 behavior: first check if text from
    $local.template.node is available and perform xsl:for-each only if no local
    template is available.

    Got the following response on docbook@ from Jirka Kosek:

    > Please submit bug and patch using tracker at the SourceForge:
    > http://sourceforge.net/tracker/?group_id=21935&atid=373747
    >
    > I don't see reason why this should not be integrated however I don't
    > think this is a bug, localization code was designed to offer overrides
    > for built-in translations, see:
    >
    > https://lists.oasis-open.org/archives/docbook-apps/201207/msg00013.html

    Submitted a bug, patch attached:
    https://sourceforge.net/tracker/?func=detail&aid=3598963&group_id=21935&atid=373747

    As to whether it is a bug, I beg to disagree: DocBook stylesheets are designed
    to allow a customization layer. If that customization layer has a template
    which requires some language-dependent text, such as the example in my
    original email - or in the other email you refered to - gentext.template is
    the natural choice.
    The other options are:
    - two different kinds of templates to select language-dependent text, one for
    "built-in" templates and one for "add-on" ones, which just adds unnecessary
    duplication of XSL code
    - piggybacking such local context onto some existing context, which is, I
    quote from the message referenced above, "Not nice, but will work".

    Could this patch be integrated?

    Thanks,
    Alexey.



  • 2.  Re: [docbook-apps] Rework of gentext.template in 1.76.0 broke custom contexts

    Posted 01-21-2013 21:34
    On 21.1.2013 21:06, Alexey Neyman wrote:

    > Could this patch be integrated?

    Sending this message for third time wouldn't make integration of your
    patch quicker -- it will just take more time from the very small amount
    of time I can devote to DocBook stylesheets for now.

    Jirka

    --
    ------------------------------------------------------------------
    Jirka Kosek e-mail: jirka@kosek.cz http://xmlguru.cz
    ------------------------------------------------------------------
    Professional XML consulting and training services
    DocBook customization, custom XSLT/XSL-FO document processing
    ------------------------------------------------------------------
    OASIS DocBook TC member, W3C Invited Expert, ISO JTC1/SC34 rep.
    ------------------------------------------------------------------
    Bringing you XML Prague conference http://xmlprague.cz
    ------------------------------------------------------------------




  • 3.  Re: [docbook-apps] Rework of gentext.template in 1.76.0 broke custom contexts

    Posted 01-21-2013 22:06
    Sorry about resending. I wasn't getting any response to the original message
    in three weeks, so I resent it to docbook-apps@ instead.

    Regards,
    Alexey.

    On Monday, January 21, 2013 01:34:09 pm Jirka Kosek wrote:
    > On 21.1.2013 21:06, Alexey Neyman wrote:
    > > Could this patch be integrated?
    >
    > Sending this message for third time wouldn't make integration of your
    > patch quicker -- it will just take more time from the very small amount
    > of time I can devote to DocBook stylesheets for now.
    >
    > Jirka