The business of curly brackets (a.k.a. curly braces) is covered in section 7.6.2 of
the XSLT recommendation. As far as I can see it's trying to say that in an attribute where an Attribute Value Template can be used, you have to escape those curlies by doubling them if you don't intend them to be AVT delimiters.
It's a bit unclear, though, but if you read section 5.6 of
the XSLT 2.0 recommendation you'll see it's been clarified as to how curly-escaping is supposed to work.
So it looks like there might be a little bit of non-conforming behaviour in one of your two XSLT processors, but I couldn't say for certain which one.
[ July 31, 2007: Message edited by: Paul Clapham ]