title: Convert entity to keyboard character using XSLT
body: <p>I am in need to convert <code>&amp;#x00A0;</code> entity to normal space (keyboard space) using XSLT 1.0. But I am getting the entity <code>&amp;#160;</code> instead of space.</p>
  
  <p><strong>Sample XML:</strong></p>
  
  <pre><code>&lt;chapter xmlns="http://www.w3.org/1998/Math/MathML"&gt;
  &lt;math display='block'&gt;
   &lt;mrow&gt;
    &lt;mtext&gt;x&amp;#x00A0;y&amp;#x00A0;+&amp;#x00A0;y&amp;#x00A0;x&lt;/mtext&gt;
   &lt;/mrow&gt;
  &lt;/math&gt;
  &lt;/chapter&gt;
  </code></pre>
  
  <p><strong>XSLT 1.0 tried:</strong></p>
  
  <pre><code>&lt;?xml version='1.0'?&gt;
  &lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1998/Math/MathML"&gt;
  &lt;xsl:output method="xml" encoding="UTF-8" indent="no"/&gt;
  &lt;xsl:strip-space elements="*"/&gt;
  
  &lt;xsl:template match="@* | node()"&gt;
  &lt;xsl:copy&gt;
  &lt;xsl:apply-templates select="@* | node()"/&gt;
  &lt;/xsl:copy&gt;
  &lt;/xsl:template&gt;
  
  &lt;xsl:template match="mtext"&gt;
  &lt;xsl:for-each select="contains(.,'&amp;#x00A0;')"&gt;
  &lt;xsl:text disable-output-escaping="yes"&gt; &lt;/xsl:text&gt;
  &lt;/xsl:for-each&gt;
  &lt;/xsl:template&gt;
  
  &lt;/xsl:stylesheet&gt;
  </code></pre>
  
  <p>Required output:</p>
  
  <pre><code>&lt;?xml version='1.0' encoding='UTF-8' ?&gt;
  &lt;chapter xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;math display="block"&gt;&lt;mrow&gt;&lt;mtext&gt;x y + y x&lt;/mtext&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/chapter&gt;
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>&lt;?xml version='1.0' encoding='UTF-8' ?&gt;
  &lt;chapter xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;math display="block"&gt;&lt;mrow&gt;&lt;mtext&gt;x&amp;#160;y&amp;#160;+&amp;#160;y&amp;#160;x&lt;/mtext&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/chapter&gt;
  </code></pre>