David Carlisle wrote:
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?)
By share I mean that have a named template that I may call from 2
separate files.
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.
I thought about that, the problem is that some of the styling is
dependant on XML (some in external files, called in the XSLT) and others
are based on hard coded. For example, I may reference an external file
for colours, but the external file is constructed based on the XML
coming into the XSLT. Also, your syntax will get very messy if you have
combinations of attributes (for example, I may have one attribute set
for the fonts that is common to most of the styles, and another with the
margins). I may have to do what you suggested, but I can see it becoming
very messy.
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--