xslt翻译多个字符

时间:2016-10-28 14:23:24

标签: xml xslt xpath translate

我正在尝试将多个角色转换为' X'或者一个' &#39 ;. 如果角色是1,C,G则应该是' X'否则它是一个' '

目前我有这个:

<xsl:variable name="correctedReturn">
    <xsl:value-of select="translate(correctedReturn,'1','X')" />
</xsl:variable>

这可以将任何1个翻译成X而不是其他任何内容。我试过多次翻译,但它不允许我在一个变量中有多个翻译。任何帮助都会很好,

1 个答案:

答案 0 :(得分:1)

  

如果角色是1,C,G那么它应该是&#39; X&#39;否则它是一个&#39; &#39;

尝试:

<xsl:value-of select="translate(correctedReturn,'1CG','XXX')" />

这将翻译&#34; 1&#34;,&#34; C&#34;和&#34; G&#34;到&#34; X&#34;。我不确定你到底是什么意思&#34; 其他它是&#39; &#39; &#34;在这里,所有其他字符将保持不变。如果你真的想完全删除它们,你必须做类似的事情:

<xsl:value-of select="translate(translate(correctedReturn, translate(correctedReturn, '1CG', ''), ''), '1CG','XXX')"/>

这将需要一串&#34; ABCDEFGG12345&#34;并返回&#34; XXXX&#34;。

当然,如果你有一个包含所有其他允许字符的列表,这可能会更简单。