This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: news


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]