Subject: Reusing and XPath expression
From: Jacobus Reyneke <jacobusreyneke@xxxxxxxxx>
Date: Thu, 3 Mar 2011 13:56:39 +0200
|
Good day,
Is there some way to re-use just part of an XPath expression. Here I
made an attempt by assigning it to a variable, but the benefit of
doing it this way is very limited:
<xsl:template match="cv:*/gl:title">
<xsl:variable name="ancestors" select="count(ancestor::*)"/>
<fo:block>
<fo:inline font-size="{($title-font-size)-2*$ancestors}pt">
<xsl:apply-templates></xsl:apply-templates>
</fo:inline>
</fo:block>
</xsl:template>
In this example I resize the section titles in FO depending on the
depth of the title. Is there some way I can put the
"count(ancestor::*)" expression in one place and so re-use it in
different templates by 'calling' it? I cannot just make the expression
'global' because new values cannot be assigned to it.
This is just a question in an attempt to understand the mechanism of
re-using bits of XPath in an attempt to keep templates maintainable.
Kind regards,
Jacobus
|