XSLT:删除多行上的前导空格,保留换行符

时间:2017-12-13 15:12:27

标签: xslt xslt-2.0

我想转型

<description>
    aaa bbb ccc
    ddd eee fff gggggg
    hhh
    iii jjjj
</description>

<description>
aaa bbb ccc
ddd eee fff gggggg
hhh
iii jjjj
</description>

因此我想删除每一行的前导空格。 可以使用XSLT完成吗?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:3)

在XSLT / XPath 2及更高版本中有正则表达式替换支持,您可以使用replace(., '^[ \t]+', '', 'm')从每行中删除前导空格和制表符:

<xsl:template match="description">
    <xsl:copy>
        <xsl:value-of select="replace(., '^[ \t]+', '', 'm')"/>
    </xsl:copy>
</xsl:template>