[Home] [By Thread] [By Date] [Recent Entries]
I tried the following 2.0 stylesheet, and it works:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
version="2.0"><xsl:output method="text" /> <xsl:template match="fizzbuzz">
<xsl:variable name="range.start"
select="xs:integer(substring-before(range,'-'))" />
<xsl:variable name="range.end"
select="xs:integer(substring-after(range,'-'))" />
<xsl:variable name="t" select="test" />
<xsl:for-each select="$range.start to $range.end">
<xsl:value-of select="if (((. mod $t/mod[1]/@value) =
$t/mod[1]/@test) and ((. mod $t/mod[2]/@value) = $t/mod[2]/@test))
then concat($t/mod[1], $t/mod[2]) else if ((. mod $t/mod[1]/@value) =
$t/mod[1]/@test) then $t/mod[1] else if ((. mod $t/mod[2]/@value) =
$t/mod[2]/@test) then $t/mod[2] else ." />
<xsl:text> </xsl:text>
</xsl:for-each>
</xsl:template></xsl:stylesheet> The input XML is: <?xml version="1.0" encoding="UTF-8"?> <fizzbuzz> <range>1-100</range> <test> <mod value="3" test="0">Fizz</mod> <mod value="5" test="0">Buzz</mod> </test> </fizzbuzz> On 3/14/07, M. David Peterson <m.david@xxxxxxxxxx> wrote: Hey All, -- Regards, Mukul Gandhi
|

Cart



