[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Conditional xsl:use-attribute-sets

Subject: Re: Conditional xsl:use-attribute-sets
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 01 Jun 2009 15:44:11 -0400
Re:  Conditional xsl:use-attribute-sets
At 2009-06-01 12:37 -0700, Karl Stubsjoen wrote:
Am I doing something wrong because this is not working:

        <fo:table-row hyphenate="true">
            <xsl:if test="position() mod 2 = 0">
                <xsl:attribute
name="xsl:use-attribute-sets">background-gray</xsl:attribute>
            </xsl:if>

Is that the correct way to call an attribute set conditionally?

Unfortunately, attribute sets cannot be added conditionally. I've wanted to do this myself in the past.


If you change the attribute set to a called template (no other changes), then you can put the call to the template in the if.

Doing so takes away the cumulative nature of attribute sets in an import/include tree, but if that isn't a concern for you, then a called template should do the trick.

So, change:

  <xsl:attribute-set name="my:background-gray">
    <xsl:attribute name="background-color">#dddddd</
    <xsl:attribute name="border">#222222</
  </xsl:attribute-set>

to:

  <xsl:template name="my:background-gray">
    <xsl:attribute name="background-color">#dddddd</
    <xsl:attribute name="border">#222222</
  </xsl:template>

and use:

   <fo:table-row hyphenate="true">
      <xsl:if test="position() mod 2 = 0">
        <xsl:call-template name="my-background-gray"/>
      </xsl:if>
   ....

I hope this helps.

. . . . . . . . . . . . . Ken


-- XSLT/XSL-FO/XQuery hands-on training - Los Angeles, USA 2009-06-08 Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video Video lesson: http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18 Video overview: http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18 G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/s/bc Legal business disclaimers: http://www.CraneSoftwrights.com/legal

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.