我有一个转换为 HTML 的 XML 文档,但我希望结果 HTML 尽可能小。所以我必须删除所有空格和行尾。我怎样才能做到这一点?
问问题
4224 次
4 回答
8
您应该能够使用strip-space
:
<xsl:strip-space elements="*"/>
于 2010-01-11T08:46:47.533 回答
3
使用
<xsl:strip-space elements="*"/>
是个好主意。
指定输出的详细信息也是如此:
<xsl:output
indent="no"
method="html"/>
如果以上仍然不够好,您可以尝试更改text()
节点的处理(按照 DocBook 的模式进行思考,您明确想要的任何文本都在<para/>
标签中,或类似的):
<xsl:template match="chapter/text()"/>
您可以使用 just match="text()"
,但这可能过于激进,因为它非常模糊 - 它不一定会杀死您想要的文本(再次,在您的<para/>
标签中,或类似的),因为这些文本节点可能会被 XSLT 的内置模板隐式处理.
于 2010-01-11T23:33:36.310 回答
2
xsl:strip-space
将让您从结果树中删除空格。还要确保您不会在样式表中生成额外的空格。也就是说,确保而不是像
<xsl:value-of select="@key"/>
:
<xsl:value-of select="@value"/>
采用xsl:text
<xsl:value-of select="@key"/>
<xsl:text>: </xsl:text>
<xsl:value-of select="@value"/>
于 2010-01-11T11:08:09.797 回答
1
你应该和
<xsl:strip-space elements="*"/>
于 2010-01-11T08:47:50.917 回答