XSLT中的XSLT 1.0转换没有给出预期的输出

时间:2013-09-02 21:52:53

标签: xslt-1.0

我使用<xsl:value-of select="translate($var,'|',' | ')"/>其中var的格式为ABCD | EFGH | AWED | WERS | GGHS | KLIY | GYOK。我得到的输出是:ABCD EFGH AWED WERS GGHS KLIY GYOK。即所有管道都丢失了。这是什么原因......?

1 个答案:

答案 0 :(得分:2)

Translate将第一个字符串中的第一个字符替换为第二个字符串中的第一个字符,第一个字符串替换第一个字符,第二个字符串替换第二个字符串,依此类推。 所以这里管道被空格替换,第二个字符串的后两个字符被忽略。

在XSLT 2.0中有一个替换功能。 但是在XSLT 1.0中没有,所以你必须使用一种解决方法。请参阅此处获取解决方案:XSLT string replace