Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > XML, XSL > HTML код в XSL


Автор: ShurikA 28.7.2008, 04:07
В своём движке я собираю страницу с помощью XSLT. 
Часто получается что в XML находится HTML код. При этом после отработки этой пары XML/XSLT На страницу выводится сам HTML код (текстом). то есть на пример таг <h1> меняется на &lt;h1&gt; цоответственно вместо форматирования страцицы вижу весь HTML голым текстом. 
Как это дело можно обойти?

Автор: jsa 28.7.2008, 04:58
disable-output-escaping="yes"

Автор: jsa 28.7.2008, 05:32
<xsl:value-of select="..." disable-output-escaping="yes" />

Автор: ShurikA 28.7.2008, 07:41
Цитата(jsa @  28.7.2008,  04:32 Найти цитируемый пост)
<xsl:value-of select="..." disable-output-escaping="yes" /> 

Я должен это делать на кашдое поле? Или ожно сделать как то глобально?

Автор: jsa 28.7.2008, 08:18
все от тебя зависит, смотрят как у тебя построена структура данных и шаблоны

Автор: Toivonen 31.7.2008, 17:46
Код

<xsl:apply-templates select="description" mode="html"/>

<xsl:template match="* | @*" mode="html">
   <xsl:value-of select="." disable-output-escaping="yes"/>
</xsl:template>


Но если ты уверен в том, что xhtml в твоих тегах валидный, то его лучше хранить не заэскепленным и пользоваться потом copy-of-select.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)