gpt4 book ai didi

xslt - xslt 中最后一个字符后的子字符串

转载 作者:行者123 更新时间:2023-12-04 13:09:30 26 4
gpt4 key购买 nike

我找不到这个问题的确切答案,所以我希望有人能在这里帮助我。

我有一个字符串,我想在最后一个 '.' 之后获取子字符串。我正在使用 xslt 1.0。

这是怎么做的?这是我的代码。

<xsl:choose>
<xsl:otherwise>
<xsl:attribute name="class">method txt-align-left case-names</xsl:attribute>&#160;
<xsl:value-of select="./@name"/> // this prints a string eg: 'something1.something2.something3'
</xsl:otherwise>
</xsl:choose>

当我粘贴建议的代码时,我收到一条错误消息。 “解析 XSLT 样式表失败。”

最佳答案

我想不出用 XSLT 1.0 中的单个表达式来做到这一点的方法,但您可以使用递归模板来做到这一点:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>

<xsl:template match="/">
<n>
<xsl:call-template name="GetLastSegment">
<xsl:with-param name="value" select="'something1.something2.something3'" />
<xsl:with-param name="separator" select="'.'" />
</xsl:call-template>
</n>
</xsl:template>

<xsl:template name="GetLastSegment">
<xsl:param name="value" />
<xsl:param name="separator" select="'.'" />

<xsl:choose>
<xsl:when test="contains($value, $separator)">
<xsl:call-template name="GetLastSegment">
<xsl:with-param name="value" select="substring-after($value, $separator)" />
<xsl:with-param name="separator" select="$separator" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$value" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

结果:
<n>something3</n>

关于xslt - xslt 中最后一个字符后的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17468891/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com