XML格式的XHTML文本,使用XSLT格式化

时间:2011-05-31 15:22:25

标签: xml xslt

我正在尝试使用相应的XSLT样式表创建XML文件。一切都很好,但是......

...我输出的节点包含XHTML文本,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <snippet id="user_surname">
        <content>
            <h1>Some title here</h1>
            <p>Blah blah blah...</p>
        </content>
    </snippet>
    ...
</root>

这是相应的XSLT样式表:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
    <xsl:for-each select="root/snippet">
      <div>
        <xsl:value-of select="content" disable-output-escaping="yes" />
      </div>
    </xsl:for-each>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

我遇到的问题是,h1和p标签不会打印为h1和p标签,而是打印为没有标签的纯文本。

如何让我的XSLT样式表按原样打印这些标签?我尝试用CDATA标签包装,但似乎没有帮助。

提前致谢!

1 个答案:

答案 0 :(得分:2)

尝试使用xsl:copy-of代替xsl:value-of。这应该给你节点而不是节点作为文本。