Xpoint
   [напомнить пароль]

XSLT - вывести в HTML неразрыный пробел

Метки: [без меток]
2008-07-24 09:26:21 [обр] Principal AG(5/11)[досье]
Доброго в.с.
Вопрос снова по XSLT и снова дурацкий.
Как вывести неразрывный пробел -   в итоговый HTML документ? И можно ли вообще? Понятно, что в обычном виде процессор (у меня libxslt из под Perl) принимает его за не определённую сущность. Пытался заключить в CDATA, но тогда он вместо неразрывного пробела выводит самый обычный, а это тоже не есть гуд.
Может ему просто сделать маленький DTD и эту сущность определить?
Подскажите плз., что тогда конкретно нужно прописать в DTD? И как подоткнуть этот DTD в XSLT шаблон?
А может можно по другому?
Заранее спасибо.
спустя 37 минут [обр] GRAy(64/259)[досье]

В зависимости от версии XSLТ которую вы используете (и поддржкой её вашим парсером/XSLT-процессором) есть два варианта:

  1. Для 1.0 и 2.0 тупо использовать   вместо   - т.е. если вам не "шашечки", а "ехать" это самый простой вариант.
  2. Для 2.0 можно задать character-map:
  <xsl:character-map name="cm1">
    <xsl:output-character character="&#160;" string="&amp;nbsp;"/>   
  </xsl:character-map>

После этого, там где вы вставите &#160; процессор на выходе заменит его на &nbsp; - если вам принципиально, чтобы на выходе был именно &nbsp;

спустя 7 часов [обр] Dennis F. Latypoff aka funky_dennis(10/78)[досье]
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp "&#160;">
]>
<xsl:stylesheet>
...
</xsl:stylesheet>
спустя 6 часов [обр] arty(0/6)[досье]
а не получится использовать тупой вариант — вставить в нужное место сам юникодный символ неразрывного пробела?
спустя 9 часов [обр] GRAy(64/259)[досье]
arty[досье] Это и есть мой вариант №1.
спустя 1 день 2 часа [обр] arty(0/6)[досье]
GRAy[досье], мне показалось, что вы всё же предлагаете использовать entity, только с цифровым кодом.
Powered by POEM™ Engine Copyright © 2002-2005