[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Problem with conditional definition of a variable


Subject: Re: [xsl] Problem with conditional definition of a variable
From: andrew welch <andrew.j.welch@xxxxxxxxx>
Date: Wed, 4 Jan 2006 17:26:15 +0000

On 1/4/06, cknell@xxxxxxxxxx <cknell@xxxxxxxxxx> wrote:
> Depending on whether or not a parameter is passed to the stylesheet, I'd
like to define a variable differently.
>
> I have defined two parameters in the stylesheet to be passed from a command
line:
>
> "spiral" has a default value.
> "phase" is defined without a default value.
>
> This unconditional definition works as expected:
>
> <xsl:variable name="s1-reqs" select="document('X:/Project
documents/matrix-xml/spiral-phase-update-template.xml')/requirements/requirem
ent[@spiral=$spiral]" />
>
> I think I ought to be able to declare the variable with a construct like
this:
>
> <xsl:variable name="s1-reqs">
>   <xsl:choose>
>     <xsl:when test="$phase=''">
>       <!-- Something goes here when no "phase" parameter is passed -->

Whatever goes in here make the default value for $phase

>     </xsl:when>
>     <xsl:otherwise>
>       <!-- Something goes here if a "phase" parameter is passed -->

Just use the phase parameter wherever you would use $s1-reqs, or make
$s1-reqs equal to $phase

>     </xsl:otherwise>
>   <xsl:choose>
> </xsl:variable>

cheers
andrew


Current Thread