2012-03-28 7 views
1

Извините, если это глупый вопрос, но можно сохранить и извлечь фрагмент HTML в переменной xsl 1.0? EG:Хранение тегов html внутри переменной xsl

<xsl:variable name="something"><p>Hi there</p><p>How are you today?</p></xsl:variable> 

<xsl:value-of disable-output-escaping="yes" select="$something"/> 

Это просто, когда я пытаюсь, он, кажется, удаляет теги HTML. Благодарю.

ответ

9

Вы должны использовать <xsl:copy-of select="$something"/> вместо xsl:value-of.

+0

Oh man. Как легко, как .. !! Большое спасибо за ваш ответ. –

2

я добавлю какое-то объяснение того, что происходит :)

Причины вы не получаете HTML-тегов является то, что переменные $ что-то содержит фрагмент DOM, а не строку: значение-го элемента выдержки содержимое узла (ов) так же, как и функция string(), поэтому не сериализует узлы.

Это обеспечило бы, вместо этого, строковое представление HTML строки, которую вы имеете, а затем вы можете распечатать его со значением, из и отключения-вывода-вытекание:

<xsl:variable name="something"><![CDATA[<p>Hi there</p><p>How are you today?</p>]]></xsl:variable> 

(см https://msdn.microsoft.com/en-us/library/ms256181(v=vs.110).aspx «Результаты преобразуются в строку, как по вызову функции string() ")

Смежные вопросы