This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Variable value based on condition[URGENT]
- From: "Chris Bayes" <chris at bayes dot co dot uk>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Sun, 2 Dec 2001 09:56:14 -0000
- Subject: RE: [xsl] Variable value based on condition[URGENT]
- Reply-to: xsl-list at lists dot mulberrytech dot com
Deep,
This shows both methods although I am using the stylesheet for your
counts rather than another xml file names.xml
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:m="http://www.bayes.co.uk/xml/names"
>
<m:t>
<m:Count>1</m:Count>
<m:Count>1</m:Count>
<m:Count>2</m:Count>
<m:Count>3</m:Count>
<m:Count>4</m:Count>
<m:Count>5</m:Count>
<m:Count>6</m:Count>
<m:Count>6</m:Count>
<m:Count>6</m:Count>
<m:Count>6</m:Count>
<m:Count>6</m:Count>
</m:t>
<xsl:template match="/">
<html>
<head></head>
<body>
<xsl:apply-templates /></body>
</html>
</xsl:template>
<xsl:template match="Event">
<xsl:variable name="value">
<xsl:choose>
<xsl:when
test="count(preceding-sibling::Event) = 0">1</xsl:when>
<xsl:when
test="count(preceding-sibling::Event) < 6">
<xsl:value-of
select="count(preceding-sibling::Event)" />
</xsl:when>
<xsl:otherwise>6</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="cps"
select="count(preceding-sibling::Event) + 1" />
<xsl:variable name="Fvalue">
<xsl:value-of
select="document('')//m:Count[$cps]" />
</xsl:variable>
- <xsl:value-of select="$value" /> = <xsl:value-of
select="$Fvalue" />
</xsl:template>
</xsl:stylesheet>
Ciao Chris
XML/XSL Portal
http://www.bayes.co.uk/xml
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list