3

我将 XPath 与 XSLT(均为 2.0 版)一起使用。我想获得一个字符串列表,除了一个字符串:

<xsl:param name="lang" select="'de'"/>
<xsl:variable name="all-languages" select="('en','de','fr')"/>
<xsl:variable name="other-languages" select="$all-languages except $lang "/>

对于文档项目,我想生成文档$lang并链接到所有其他语言。$other-languages因此,(在上面的示例中)获取('de','fr')并使用它<xsl:for-each>来迭代语言会很好,除了 in 中的字符串$lang

except似乎只适用于节点。这个问题最好的解决方案是什么?

4

2 回答 2

3

更简单、更高效

$all-languages[. ne $lang]
于 2012-09-14T13:16:51.987 回答
1

从所有语言中删除语言似乎是一个好主意:

remove($all-languages, index-of($all-languages, $lang)))
于 2012-09-14T09:26:01.577 回答