使用XSLT过滤掉特定的字符串

时间:2019-06-20 11:04:54

标签: xslt

输入:

<img xlink:href="figure_one"><?isoimg-id 9324-098_kr1figure1.JPG?></img>

我想使用XSLT从上述输入中过滤出.jpg部分。我不知道如何过滤掉它。

1 个答案:

答案 0 :(得分:0)

您可以使用substring-before()函数简单地删除文件扩展名(无论它是什么):

XSLT 1.0

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>

<!-- identity transform -->
<xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
</xsl:template>

<xsl:template match="processing-instruction('isoimg-id')">
    <xsl:processing-instruction  name="isoimg-id">
        <xsl:value-of select="substring-before(., '.')" />
    </xsl:processing-instruction>
</xsl:template>

</xsl:stylesheet>