This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: news
- To: Dylan Walsh <Dylan dot Walsh at Kadius dot com>
- Subject: Re: [xsl] news
- From: Jeni Tennison <mail at jenitennison dot com>
- Date: Tue, 20 Feb 2001 11:26:27 +0000
- CC: xsl-list at lists dot mulberrytech dot com
- Organization: Jeni Tennison Consulting Ltd
- References: <8BD71A154EA6D211873E00105A125CDF575253@TSSMX1>
- Reply-To: xsl-list at lists dot mulberrytech dot com
Hi Dylan,
> As Jeni described, you could declare it in your template with a
> special default value that indicates it hasn't been set by the
> importing/including transformation (I believe you would have use a
> param rather than a variable to achieve this affect). I'm not saying
> that a run-time test for variables/params is a major omission from
> XSLT, just pointing out that there is a hypothetical use case for
> such a feature.
I actually meant declare it as a global variable in your stylesheet,
so that it is overridden if it is declared as a global variable in the
importing stylesheet. If you define it within the *template* (even as
a parameter) then that local definition will override any global one,
even if it's on the importing stylesheet.
So if on my utility stylesheet I do:
<xsl:variable name="my:var"
select="'a-ridiculous-value-no-one-will-set'" />
<xsl:template name="my:template">
<xsl:choose>
<xsl:when test="$my:var = 'a-ridiculous-value-no-one-will-set'">
<!-- variable has not been declared in importing stylesheet
-->
</xsl:when>
<xsl:otherwise>
<!-- variable *has* been declared in importing stylesheet -->
</xsl:otherwise>
</xsl:choose>
</xsl:template>
I hope that helps,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list