Why when I translate with saxon is the é not getting
translated to é and remains é? I also noticed
that the following entities: †, ♦, • are
translated by saxon to †, ♦, • respectively
when my character mapping is †, ♦, •?
You can find information about how Saxon serializes characters, and how
you can influence it, at
http://saxon.sourceforge.net/saxon7.6.5/extensions.html#output
The entities and numeric character references in the source document are
translated by the XML parser into regular characters. Saxon isn't told
whether the character was represented originally as itself, as a decimal
character reference, a hex character reference, or whatever. On
serialization, Saxon has to choose a representation suitable to the
output encoding. It prefers decimal representation to hex, but you can
configure this if you want. What you can't do is to say "use the same
representation as was used in the input", because Saxon doesn't know
that.
Michael Kay
Dan
-----Original Message-----
From: Whitney, Dan (CanWest Interactive)
[mailto:DWhitney(_at_)canwest(_dot_)com]
Sent: August 26, 2003 1:19 PM
To: 'xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com'
Subject: RE: [xsl] character entity references; saxon ie 6.0
differences
Brook,
Sorry, I guess I should have specified I have the entity defined as
<!ENTITY eacute "é" ><!--=small e, acute accent -->
in external files (along with most of the other possible
entities) which are included in the doctype declaration.
Dan
-----Original Message-----
From: Brook Ellingwood [mailto:brook(_at_)mootkat(_dot_)com]
Sent: August 26, 2003 12:59 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Re:
Dan,
You can't use an HTML entity in XML. You should use the
equivalent entity from the UTF-16 character set. This URL is
convenient for finding the common character codes:
http://www.hclrss.demon.co.uk/demos/ansi.html
This URL has far greater scope if you ever need to find a
less common code: http://www.alanwood.net/unicode/search.html
In theory, if you are using a Unicode-aware text editor, you
can set the encoding of your file to UTF-16 (or UTF-8) and
just type the characters in without using the entities, but
I've had pretty lousy luck getting that to work all the way
to the browser. For now, you're safer to use the entities.
-- Brook
-----Original Message-----
From: Whitney, Dan (CanWest Interactive)
[mailto:DWhitney(_at_)canwest(_dot_)com]
Sent: August 26, 2003 1:00 PM
To: 'mulberry - xsl'
Subject: [xsl] character entity references; saxon ie 6.0 differences
Sorry forgot to add a subject to my intial post.
I have the following XML fragment:
<RECORDITEM sqlsource="cityprov"
colname="col4">Montréal,
QC<RECORDREF>specialannual</RECORDREF></RECORDITEM>
I want my output to be:
<td>Montréal</td><td>specialannual</td>
My xsl is:
<xsl:for-each select="RECORDITEM">
<td align="right">
<font face="verdana" size="1">
<xsl:value-of select="text()"/>
</font>
</td>
<td align="right">
<font face="verdana" size="1">
<xsl:value-of select="RECORDREF"/>
</font>
</td>
</xsl:for-each>
When I use ie 6.0 to open this the entity "é" is not
interpreted as text? so I get something like the following:
<td align="right>Montr</td><td
align="right">specialannual</td> When I translate it with
saxon everything comes out as I want. Which is correct and
can I write my XSL to overcome the discrepancy?
Thanks in advance,
Dan Whitney
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
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list