[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]