1

我有这个 XML:

<path>/en/products/bike</path>

是否有一个 XSLT 函数会返回

/products/bike

?

谢谢你的帮助。

4

2 回答 2

3

您可以使用该substring-after功能。

例如,下面的 XSLT 样式表:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text"/>

  <xsl:template match="path">
    <xsl:value-of select="substring-after(., '/en')"/>
  </xsl:template>
</xsl:stylesheet>

当应用于您的 XML 时:

<path>/en/products/bike</path>

会给:

/products/bike
于 2013-09-08T17:20:36.733 回答
0

在 XSLT 2.0 中,您还可以使用replace()函数,它接受正则表达式模式作为第二个参数和一个可选的第四个参数作为正则表达式标志。

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" />
    <xsl:template match="path">
        <xsl:sequence select="replace(., '^/en','')"/>
    </xsl:template>
</xsl:stylesheet>
于 2013-09-08T23:51:06.593 回答