That's great - I didn't realise that the parameters could be
dynamically configured in that way (but of course they can be,
thinking about it) - that will make life very easy indeed.
Thanks,
Geraint North
Principal Engineer
Transitive
On 12 Dec 2007, at 19:29, Thomas Schraitle wrote:
> Hi,
>
> On Mittwoch, 12. Dezember 2007, Geraint North wrote:
>>
>> I've got a few situations where I'd like to set some attributes based
>> on some top-level properties of my DocBook Book. For example:
>> - If the <book>'s lang is "ja", use a set of Japanese fonts, rather
>> than the defaults.
>
> That's pretty easy. You have to create a customization layer as
> shown in
> [1] and insert the following parameter:
>
> <xsl:param name="body.font.family">
> <xsl:choose>
> <xsl:when test="/book/@lang='ja'">
> <xsl:text><!-- Insert your fonts here --></xsl:text>
> </xsl:when>
> <xsl:otherwise>serif</xsl:otherwise>
> </xsl:choose>
> </xsl:param>
>
> Probably you need to configure the other parameters like
> sans.font.family
> as well (see [2]).
>
>
>> - If the confidentiality level of the document (my own tag) is
>> "Confidential", print the chapter titles in black rather than blue.
>
> For this check I need to know where your confidentiality element is
> allowed.
>
> I am not 100% sure, maybe there are better methods, but you can
> change the
> attribute set chapter.titlepage.recto.style (untested):
>
> <xsl:attribute-set name="chapter.titlepage.recto.style">
> <xsl:attribute name="color">
> <xsl:choose>
> <!-- Adapt the XPath in test to your needs -->
> <xsl:when test="/*/confidentiality = 'Confidental'">
> <xsl:text>black</xsl:text>
> </xsl:when>
> <xsl:otherwise>blue</xsl:otherwise>
> </xsl:choose>
> </xsl:attribute>
> </xsl:attribute-set>
>
> Insert it into your customization layer too. :)
>
>
> Hope that helps,
> Tom
>
> ---------
> [1]
> http://www.sagehill.net/docbookxsl/
> CustomMethods.html#CustomizationLayer
> [2] http://docbook.sourceforge.net/release/xsl/current/doc/fo/
> fonts.html
>
>
> --
> Thomas Schraitle
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail: -
> open.org
>