MSXML is non-conformant in that it allows the data model to contain
several adjacent sibling text nodes. It does this in particular when the
original text contains entity references. You should therefore be very
careful about using <xsl:value-of select="text()"/> which only selects
the first child text node. Using <xsl:apply-templates select="text()"/>
would do the trick in this case.
Michael Kay
-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
Whitney, Dan (CanWest Interactive)
Sent: 26 August 2003 17:30
To: 'mulberry - xsl'
Subject:
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