XPath: "список строк", кроме "строки"?

Я использую 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> перебирать языки за исключением строки в $lang,

except Кажется, работает только для узлов. Какое решение проблемы лучше?

2 ответа

Решение

Проще и эффективнее:

$all-languages[. ne $lang]

Удаление языка из всех языков, кажется хорошей идеей:

remove($all-languages, index-of($all-languages, $lang)))
Другие вопросы по тегам