You can do it with character maps but you don't need to do anything as messy
as that. You want an attribute containing the Unicode character with code
point xE003 (= decimal 57347), so write
<xsl:attribute name="unicode" select="codepoints-to-string(57347)"/>
and let the serializer do its job of serializing it: that's what it's good
at.
Regards,
Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay
-----Original Message-----
From: tom a [mailto:tasmito(_at_)yahoo(_dot_)com]
Sent: 05 August 2009 22:00
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] outputting an ampersand in an attribute
I am generating svg documents and would like to output an
element like:
<glyph unicode="" horiz-adv-x="833"
d="M124,348L124,249L709,249L709,348L124,348 Z"/>
I need to generate the value of @unicode programmatically.
The difficulty, of course, is outputting the ampersand in @unicode.
I started off by trying to disable output escaping:
<xsl:variable name="char" as="xs:string">
<xsl:value-of disable-output-escaping="yes"
select="concat(codepoints-to-string(38), position(), ';')"/>
</xsl:variable>
<xsl:attribute name="unicode" select="$char"/>
But this came out as &
(followed by an integer and ; per the concat())
I then tried to use character maps:
<xsl:character-map name="charmap">
<xsl:output-character string="&" character="&"/>
</xsl:character-map>
But the processor refuses to accept the lone ampersand in
@character. It generates the following message:
"The entity name must immediately follow the '&' in the
entity reference."
But since the entity name is generated at runtime, I have a problem.
Any thoughts are greatly appreciated...
Tom
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--