我有一个部分编码的输入XML文档。这是一个示例:
<content>
<body>
<div class="contentLayout"><div><div><table>
[table's content]
</table></div></div></div>
</body>
</content>
在XSL样式表的帮助下,我只想显示表的内容,但不知道如何处理转义的代码。
我首先想到了unescape然后选择<table>
节点,但我发现没有办法做到这一点。
使用<xsl:value-of select="." disable-output-escaping="yes" />
似乎很好,但它不允许我仅选择<table>
节点。
你有解决方案吗?
答案 0 :(得分:0)
XSL转换由Confluence XSLT宏
完成
我担心我不熟悉这个工具。如果可以,我建议您分两次执行此操作:首先,在disable-output-escaping
元素上使用body
,然后将结果保存到新文件中。然后在第二遍中处理新文件。
替代方案很难看,很容易导致意想不到的结果:
<xsl:template match="/content">
<table>
<xsl:value-of select="substring-before(substring-after(body, '<table>'), '</table>')" disable-output-escaping="yes"/>
</table>
</xsl:template>