OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [docbook-apps] Something like an attribute-set, but different


Hi,
Keep in mind that a top level parameter is processed once only, when the 
stylesheet is loaded.  As such, a parameter is good for global properties. 
For properties on elements with different attributes or content, you can use 
something similar in the value of an attribute inside an attribute-set.  For 
an example of that syntax, see:

http://www.sagehill.net/docbookxsl/PrintTableStyles.html#TableTitle

An attribute-set is evaluated each time it is used on an element, so the 
condition can resolve differently for different element instances.

Bob Stayton
Sagehill Enterprises
bobs@sagehill.net


----- Original Message ----- 
From: "Geraint North" <geraint@transitive.com>
To: "Thomas Schraitle" <tom_schr@web.de>
Cc: <docbook-apps@lists.oasis-open.org>
Sent: Thursday, December 13, 2007 12:29 AM
Subject: Re: [docbook-apps] Something like an attribute-set, but different


> 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: docbook-apps-unsubscribe@lists.oasis-open.org
>> For additional commands, e-mail: docbook-apps-help@lists.oasis- open.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org
> For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org
>
>
> 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]