This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Conditional variable assignment
- To: <xsl-list at mulberrytech dot com>
- Subject: Conditional variable assignment
- From: "Melvyn Rosengarden" <melrose at rochester dot rr dot com>
- Date: Tue, 17 Oct 2000 20:30:26 -0400
- Reply-To: xsl-list at mulberrytech dot com
The root node of my document has a style attribute which serves as the
default for the entire XML document. Nested subordinate elements MAY have an
attribute that overrides the document default as shown in the snipet below.
<root_element default_style="style1">
<child>
<grandchild style_override="style5"/>
</child>
</root>
As you might guess the logic of my XSLT says if the grandchild has an
override use its value otherwise use the default. Once I know which value
to use I need to construct an <xsl:choose> to know what to do next.
I created a top-level (global) variable to capture the default style so it
will be available when I instantiate the grand child node
<xsl:variable name="default_style" select="root_element/@default_style />
Now I THINK I would like to create ONE variable to use in the xsl:choose
construct.....BUT I can't quite get it right.
CONCEPTUALLY I want to say:
<xsl:variable name="style"
<xsl:if test="@style_override">
style = @style_override
</xsl:if>
<xsl:if test="not(@style_override)">
style =$default_style
</xsl:if>
<!-- Now with the variable "style" set -->
<xsl:choose>
<xsl:when text="$style=style1">
....call template1....
</xsl:when>
<xsl:when text="$style=style2">
....call template2....
</xsl:when>
Any help would be greatly appreciated....Thanks
"You already have zero privacy -- get over it !!
Melvyn Rosengarden
melrose@rochester.rr.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list