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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED] open.org



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to