[xsl] Trouble transforming special characters

Subject: [xsl] Trouble transforming special characters
From: Craig Whisenhunt <craig@xxxxxxxxxxxx>
Date: Tue, 10 Aug 2010 10:36:31 -0500
Hello,

I am transforming XML to HTML. The XML source has:

Pe&ntilde;a

which should transform and display as Peqa.

Instead, the '&ntilde;' gets transformed into a '?'.

Same problem with mdash

Processor Information:
XSL version: 1
Vendor: Microsoft
Vendor URL: http://www.microsoft.com

Using VS2008, C#, .NET 3.5

My XSLT begins with:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; xml:space="default"
xmlns:l="urn::tlc.state.tx.us.salsa.legdoc">
  <xsl:output method="html" encoding="UTF-8" use-character-maps="cm1"
indent="yes"/>
  <xsl:character-map name="cm1">
    <xsl:output-character character="&#160;" string="&amp;nbsp;"/>
    <xsl:output-character character="&#8212;" string="&amp;mdash;"/>
    <xsl:output-character character="&#233;" string="&amp;eacute;"/>
    <xsl:output-character character="&#241;" string="&amp;ntilde;"/>
  </xsl:character-map>

  <xsl:param name="environment"></xsl:param>

  <xsl:template match="/">
    <html xmlns="http://www.w3.org/1999/xhtml";>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

---

Note that when I do the transformation in XMLSpy, it works fine. Using
it in code, though, produces a '?'.

I am a novice at XSLT so am sure that something is amiss. I have tried
to ferret this out with Google and your FAQ but I'm afraid it's over
my head or just too much info to digest and make sense of.

Any help, tips or tricks would be greatly appreciated. Thanks in advance,
-Craig

Current Thread