This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Calculations in an attribute
- From: "Thomas B. Passin" <tpassin at mitretek dot org>
- To: <XSL-List at lists dot mulberrytech dot com>
- Date: Mon, 11 Mar 2002 13:20:24 -0500
- Subject: Re: [xsl] Calculations in an attribute
- References: <20020311180659.85816.qmail@web12707.mail.yahoo.com>
- Reply-to: xsl-list at lists dot mulberrytech dot com
[bryan hansen" <bh5k@yahoo.com>]
>
> I am using XSL to convert to SVG and when I try to do
> a calculation in a attirbute I get an exception of:
>
> org.xml.sax.SAXParseException: The value of attribute
> "width" must not contain the '<' character.
>
> I understand what the error is, but not how to get
> around it. The svg needs to have a width dynamically
> calculated (I am making a bar graph) and looks
> something like this:
>
> <rect x="291" y="121" width="142" height="10"
> fill="green" />
>
> I want to have a percentage on the width so I have
> tried this (among other things):
>
> width="<xsl:value-of select="142 * total div 100"/>"
>
> And it throws the exception listed above. Any ideas?
> Thanks for your help in advance.
>
That's what attribute value templates are good for:
<rect width='{142 * total div 100}'/>
or,
<xsl:variable name='width' select='142 * total div 100'/>
<rect width='{$width}'/>
Cheers,
Tom P
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list