Subject: Re: Managing XSLTS for XSLFO - Shared templates and attribute sets
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 27 Mar 2008 11:42:39 GMT
|
> right now, I make extensive use of attribute sets.
They are the one xslt feature, that despite a decade of daily xslt use, I
don't think I have ever used:-)
> This works great, just as long as you don't want to share templates.
> Unfortunately, I am going to need to share some of those templates in
> the future, but the attributes used may be different (obviously, these
> attributes are defining styling).
what do you mean by "share" here (call them from two different places,
by call-template or apply-tempates?)
Personally I'd lose the inflexible attribute set syntax and replace it
by a variable (or named template if you need to be more dynamic)
instead of
<xsl:attribute-set name="title-style">
<xsl:attribute name="font-size">12pt</xsl:attribute>
<xsl:attribute name="font-weight">bold</xsl:attribute>
</xsl:attribute-set>
have
<xsl:template name="title-style">
<xsl:attribute name="font-size">12pt</xsl:attribute>
<xsl:attribute name="font-weight">bold</xsl:attribute>
</xsl:template>
then instead of
<foo xsl:use-attribute-sets="title-style">
use
<foo>
<xsl:call-template name="title-style"/>
which has the advantage that you can wrap the call-template in
conditional code, or parameterise it, or make its result depend on the
current context, as required.
David
________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs.
________________________________________________________________________
|