XSLT可以解析一串文本吗?

Eri*_*tas 7 string xslt parsing fxsl

这是我第一次使用XSLT.我正在尝试创建一个文件,将从我使用的程序导出的XML数据文件转换为HTML报告.

元素的值之一是图像文件的路径,但生成的路径是绝对路径,例如

C:\Documents and Settings\me\Desktop\xml export\cd000402.jpg
Run Code Online (Sandbox Code Playgroud)

但我想要一个只有文件名的相对路径.

有没有办法通过XLST文件解析文件名?

Gre*_*ill 12

XPath包含在第一次出现另一个字符串后substring-after返回字符串的函数.这本身是不够的,但是如下所示的模板可能会这样做:

<xsl:template name="filename-only">
    <xsl:param name="path" />
    <xsl:choose>
        <xsl:when test="contains($path, '\')">
            <xsl:call-template name="filename-only">
                <xsl:with-param name="path" select="substring-after($path, '\')" />
            </xsl:call-template>
        </xsl:when>
        <xsl:otherwise>
            <xsl:value-of select="$path" />
        </xsl:otherwise>
    </xsl:choose>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

可用的字符串函数集并不是非常广泛,但我发现它对于XSLT中需要的大多数应用程序来说已经足够了.