我想要实现的目标:
1个XSL文件生成基于XSLT的HTML输出。 输出HTML的一部分以XML格式存储。因此,您需要从XML中读取该部分并将其插入(合并)与XSL直接生成的其他内容。
示例代码 XSL :
<div>
<h1>This is a title</h1>
<p>And this is the content coming from XML:<br/>
<xsl:copy-of select="/*/xhtml:myelement" />
</p>
</div>
XML 看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<z:article xmlns:ns0="http://www.w3.org/1999/xhtml">
<ns0:myelement><p>here is some text with a special character &#776; and &#187; but actually any valid html can be stored like this in XML.</p><br/>
<h2>an H2 title in the XML</h2>
<p>and again some text</p>
</ns0:myelement>
</z:article>
我得到的输出是HTML本身(作为文本),因此它仍然被转义,因此不会被解释为HTML:
这是来自XML的内容:
&lt; p&gt;这里是一些带有特殊字符&amp;#776的文字;和&amp;#187;但实际上任何有效的html都可以像XML一样存储。&lt; / p&gt;
&lt; h2&gt; XML&lt; / h2&gt;中的H2标题
&lt; p&gt;并再次提供一些文字&lt; / p&gt;
所以我的问题是:我如何编写XSL代码,以便将XML中的文本复制为实际HTML而不是TEXT?
答案 0 :(得分:0)
而不是:
<xsl:copy-of select="ns0:myelement" />
尝试:
<xsl:value-of select="ns0:myelement" disable-output-escaping="yes"/>