This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Hexadecimal Arithmetic
- To: <xsl-list at mulberrytech dot com>
- Subject: RE: Hexadecimal Arithmetic
- From: "Chris Bayes" <Chris at Bayes dot co dot uk>
- Date: Thu, 31 Aug 2000 18:16:26 +0100
- Reply-To: xsl-list at mulberrytech dot com
Rather cute
gradient.xsl-------------------------------------------------------------
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="html" />
<xsl:template match="/">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="root">
<xsl:apply-templates />
</xsl:template>
<xsl:template match="parent">
<xsl:variable name="red"><xsl:value-of select="@level" /></xsl:variable>
<xsl:variable name="green">255</xsl:variable>
<xsl:variable name="blue">128</xsl:variable>
<div>
<xsl:attribute name="style">
background-color: rgb(<xsl:value-of select="position() * (255 div
(count(//parent)))" />, 255, 255);
</xsl:attribute>
<xsl:value-of select="." />
<xsl:apply-templates select="child">
<xsl:with-param name="red"><xsl:value-of select="position() * (255 div
count(//parent))" /></xsl:with-param>
<xsl:with-param name="green"><xsl:value-of select="$green"
/></xsl:with-param>
<xsl:with-param name="blue"><xsl:value-of select="$blue"
/></xsl:with-param>
</xsl:apply-templates>
</div>
</xsl:template>
<xsl:template match="child">
<xsl:param name="red" />
<xsl:param name="green" />
<xsl:param name="blue" />
<div>
<xsl:attribute name="style">
background-color: rgb(<xsl:value-of select="$red" />, <xsl:value-of
select="position() * (255 div count(../child))" />, <xsl:value-of
select="$blue" />);
</xsl:attribute>
<xsl:value-of select="." /><br />
</div>
</xsl:template>
</xsl:stylesheet>
gradient.xml-------------------------------------------------------------
<?xml version="1.0"?>
<root>
<parent level="1">
<child>child 1</child>
<child>child 2</child>
<child>child 3</child>
<child>child 4</child>
<child>child 5</child>
</parent>
<parent level="2">
<child>child 1</child>
<child>child 2</child>
<child>child 3</child>
<child>child 4</child>
<child>child 5</child>
</parent>
<parent level="3">
<child>child 1</child>
<child>child 2</child>
<child>child 3</child>
<child>child 4</child>
<child>child 5</child>
</parent>
<parent level="4">
<child>child 1</child>
<child>child 2</child>
<child>child 3</child>
<child>child 4</child>
<child>child 5</child>
</parent>
<parent level="5">
<child>child 1</child>
<child>child 2</child>
<child>child 3</child>
<child>child 4</child>
<child>child 5</child>
</parent>
</root>
Ciao Chris
XML/XSL Portal
http://www.bayes.co.uk/xml
>-----Original Message-----
>From: owner-xsl-list@mulberrytech.com
>[mailto:owner-xsl-list@mulberrytech.com]On Behalf Of Chris Bayes
>Sent: 31 August 2000 16:39
>To: xsl-list@mulberrytech.com
>Subject: RE: Hexadecimal Arithmetic
>
>
>It is tricky in hex so why not stick to decimal. Then of the top of my head
>do something like
>
><xsl:template match="parent[@level = '1']">
> <div ...>
> <xsl:attribute name="style">
> color: rgb(<xsl:value-of select="count() *
>5" />, 255, 255);
> </xsl:attribute>
> <xsl:apply-templates>
> <xsl:with-param name="red"><xsl:value-of
>select="count() * 5"
>/></xsl:with-param>
> </xsl:apply-templates>
> </div>
></xsl:template>
><xsl:template match="child">
> <xsl:param name="red" />
> <div...>
> <xsl:attribute name="style">
> color: rgb(<xsl:value-of select="$red" />,
><xsl:value-of select="count()
>* 5" />, 255);
> </xsl:attribute>
>
> </div>
></xsl:template>
>
>and variations on the theme depending on what you want.
>
>Ciao Chris
>
>XML/XSL Portal
>http://www.bayes.co.uk/xml
>
>
>>-----Original Message-----
>>From: owner-xsl-list@mulberrytech.com
>>[mailto:owner-xsl-list@mulberrytech.com]On Behalf Of Maulik Modi
>>Sent: 31 August 2000 15:45
>>To: xsl-list@mulberrytech.com
>>Subject: Hexadecimal Arithmetic
>>
>>
>>
>>
>>Hi,
>>
>>I have the following snippet of my XML data:
>><root>
>><parent level="1">
>><child1>some text</child1>
>><child2>some more text</child2>
>><parent>
>><parent level="2">
>><child1>text</child1>
>><child2>different text</child2>
>></parent>
>>....
>></root>
>>
>>I want to present this in a table and that's done. Now I want to
>>color code each
>> table row depending on the value of the "level" attribute. That's
>>done. Now I
>>want to give each row a different gradient of the same color
>>depending on the
>>value of the "level". The value of the level ranges from 1-10. I
>>wanted to take
>>this and use
>>it with hexadecimal arithmetic. Does anyone know how?
>>
>>I am getting greedy now, but it would be really nice if I could do this
>>dynamically as I foresee that my XML data will not be static.
>>
>>Any help is appreciated.
>>
>>Maulik
>>
>>
>>
>>
>>
>> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list