Well, I'm not sure it's a more elegant solution that just writing out the
attribute element, but you could do this:
<xsl:variable name="leftbrace"><![CDATA[{]]></xsl:variable>
and one for the right side (would you even need one for the right side? --
I'm thinking no but I didn't test it).
And use that value in an atv along with your literal values.
Chuck White
Author, Mastering XSLT, Sybex Books
http://www.javertising.com/webtech
http://www.tumeric.net
What do you do when you need to use curly braces and *don't* want the
processor to treat them as an attribute value template?
Consider:
<a href="#" onclick="if (foo == false) {bar = true; alert('ding');} return
false">Don't click me</a>
If foo == false, the browser should execute the next two statements. But
the XSLT processor (rightly) sees this as an AVT and attempts to evaluate
it
as an expression, with predictably dire results.
A workaround is to write the onclick handler with xsl:attribute:
<xsl:attribute name="onclick">if (foo == false) {bar = true;
alert('ding');}
return false</xsl:attribute>
but I wanted to know if there was any way to escape the curly braces
directly in the attribute.
thanks,
b.
| brian martinez
brian(_dot_)martinez(_at_)cendant(_dot_)com |
| lead gui programmer 303.357.3548 |
| cheap tickets, part of trip network fax 303.357.3380 |
| 6560 greenwood plaza blvd., suite 400 englewood, co 80111 |
| cendant travel distribution services http://www.cheaptickets.com/ |
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list