[xsl] 16-bit entities converted to "?" by XSLT

Subject: [xsl] 16-bit entities converted to "?" by XSLT
From: John English <je@xxxxxxxxxxxxxx>
Date: Sat, 06 Dec 2008 15:31:05 +0000
I have a pass-through rule in my XSLT stylesheet to allow me to copy
embedded HTML unchanged to the output:

  <xsl:template match='div|span'>
    <xsl:copy-of select="."/>
  </xsl:template>

However, when I have 16-bit entities in the HTML, they are translated
to question marks in the output. For example, the following contains
some Hebrew characters:

  <span style='font-size: 11pt; font-family: Arial;' lang='HE'>
     &#1499;&#1514;&#1493;&#1489;
  </span>

My browser shows this correctly, but when I embed it in some XML and
run it though my stylesheet, the output is this:

  <span style='font-size: 11pt; font-family: Arial;' lang='HE'>
     ????
  </span>

I've tried <xsl:output encoding="UTF-16"> and various other things, but
nothing seems to work. Is there an easy way to fix this so I can just
display 16-bit characters?

TIA,

----------------------------------------------------------------------
 John English              | mailto:je@xxxxxxxxxxxxxx
 Senior Lecturer           | http://www.it.bton.ac.uk/staff/je
 School of Computing & MIS | "Those who don't know their history
 University of Brighton    |  are condemned to relive it" (Santayana)
----------------------------------------------------------------------

Current Thread