Мы можем вставить HTML-теги в переменную XSL
Я просто хочу подтвердить, можем ли мы вставить html-теги в переменную xsl? пример
<xsl:variable name="htmlContent">
<html>
<body>
hiiii
</body>
</html>
</xsl:variable>
если я использую
<xsl:value-of select="$htmlContent"/>
Я должен получить
<html>
<body>
hiiii
</body>
</html>
Является ли это возможным? я пытался
<xsl:value-of disable-output-escaping="yes" select="$htmlContent"/>
Даже если я не получаю желаемый результат
1 ответ
Не использовать value-of
, который получает текстовое значение выбранного узла. Вместо этого используйте copy-of
, который копирует все дерево (узлы и все) в вывод:
<xsl:copy-of select="$htmlContent"/>
Вот полный пример:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:variable name="htmlContent">
<html><body>hiiii</body></html>
</xsl:variable>
<xsl:template match="/">
<xsl:element name="htmlText">
<xsl:copy-of select="$htmlContent"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Это всегда будет производить xml:
<htmlText>
<html>
<body>hiiii</body>
</html>
</htmlText>