Как вставить
 
В таблицу стилей XSLT я продолжаю получать эту ошибку:
Ошибка анализа XML: undefined entity
По сути, я хочу, чтобы в шаблоне XSLT не был разбит пробел.
Как вставить
 
В таблицу стилей XSLT я продолжаю получать эту ошибку:
Ошибка анализа XML: undefined entity
По сути, я хочу, чтобы в шаблоне XSLT не был разбит пробел.
Попробуйте вместо этого использовать объект  .
Подробнее о том, почему   не работает и другие параметры здесь.
Можно также сделать следующее:
<xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text>
   работает очень хорошо. Тем не менее, он отображает один из этих странных символов в кодировке ANSI. <xsl:text> работал лучше для меня.
<xsl:text> </xsl:text>
Используйте этот
<xsl:text disable-output-escaping="yes">&</xsl:text>nbsp;
edit: Downvoters должны, вероятно, проверить, что это работает в первую очередь (это и является наиболее общим решением проблемы.)
Возможно, вы захотите добавить определение для этого объекта в начале файла (ниже объявления xml):
<!DOCTYPE stylesheet [
<!ENTITY nbsp  " " >
]>
Также вы можете добавить еще такие объекты, как Ntilde, Aacute и т.д.
В дополнение к victor hugo answer можно получить все известные символьные ссылки, законные в XSLT файле, например:
<!DOCTYPE stylesheet [
  <!ENTITY % w3centities-f PUBLIC "-//W3C//ENTITIES Combined Set//EN//XML"
      "http://www.w3.org/2003/entities/2007/w3centities-f.ent">
  %w3centities-f;
]>
...
<xsl:text>&   –</xsl:text>
Существует также определенная разница в результате этого подхода по сравнению с <xsl:text disable-output-escaping="yes"> one. Последний будет генерировать строковые литералы, такие как   для всех видов вывода, даже для <xsl:output method="text">, и это может отличаться от того, что вы можете пожелать... Напротив, получение сущностей, определенных для шаблона XSLT, через <!DOCTYPE ... <!ENTITY ... всегда будет выводить результат, соответствующий вашим настройкам xsl:output.
И при включении всех ссылок на символы, может быть разумным использовать локальный сущностный преобразователь, чтобы механизм XSLT не извлекал определения сущности символов из Интернета. JAXP или явным пользователям Xalan-J может потребоваться исправление для Xalan-J, чтобы правильно использовать преобразователь. Смотрите мой блог XSLT, сущности, Java, Xalan... для загрузки папок и комментариев.
Когда вы используете следующее (без disable-output-escaping!), вы получите одно неразрывное пространство:
 <xsl:text> </xsl:text>
 Таблицы стилей XSLT должны быть хорошо сформированными XML. Поскольку " " не является одним из пяти предопределенных XML-объектов, он не может быть непосредственно включен в таблицу стилей.
Поэтому возвращение к вашему решению " " - идеальная замена " ", которую вы должны использовать.
Пример:
<xsl:value-of select="$txtFName"/> <xsl:value-of select="$txtLName"/>
вы также можете использовать:
<xsl:value-of select="'&nbsp'"/>
помните усилитель после и/или вы получите сообщение об ошибке
Я пытался отображать границы в пустой ячейке в таблице HTML. Мой старый трюк использования неразрывного пространства в пустых ячейках не работал с xslt. Я использовал разрывы строк с тем же эффектом. Я упоминаю об этом просто в том случае, если причина, по которой вы пытались использовать неразрывное пространство, заключалась в том, чтобы предоставить некоторый контент в "пустую" ячейку таблицы, чтобы включить границы ячеек.
<br/>