1
работает с xslt 1.0 im, пытаясь заменить символ «:» для пробела, перед этим мне нужно игнорировать символы до первого появления «:». Пример:xslt заменить строку
Наличие: 07: 090126: 00006591 :::
Я хочу получить.
090126 00006591.
Im пытается с этими двумя шаблонами, но им не в состоянии его получения идеальной.
<xsl:param name="requestor"/>
<xsl:call-template name="string-replace">
<xsl:with-param name="string" select="substring-after($requestor,':')" />
<xsl:with-param name="replace" select=':' />
<xsl:with-param name="with" select=' ' />
</xsl:call-template>
</xsl:template>
<xsl:template name="string-replace">
<xsl:param name="string" />
<xsl:param name="replace" />
<xsl:param name="with" />
<xsl:choose>
<xsl:when test="contains($string, $replace)">
<xsl:value-of select="substring-before($string, $replace)" />
<xsl:value-of select="$with" />
<xsl:call-template name="string-replace">
<xsl:with-param name="string" select="substring-after($string,$replace)" />
<xsl:with-param name="replace" select="$replace" />
<xsl:with-param name="with" select="$with" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$string" />
</xsl:otherwise>
</xsl:choose>
Может кто-нибудь помочь?
Это линии не работает:
<xsl:with-param name="replace" select=':' />
<xsl:with-param name="with" select=' ' />
Regards1!
Для замены определенного одного символа с другим одного символа с использованием 'перевода (подстрока-после ($ запрашивающего,«:»),«:» , '') 'должен делать. –
Это решение работает для меня !! :) Спасибо! – user3270648