XSLT - объявление переменной с условием.
В XSLT переменную нельзя переопределять поэтому если возникает необходимость задавать ее значение в зависимости от условий, то наиболее эффективной конструкцией будет использование choose.
Пример:
<xsl:variable name="langstr">
<xsl:choose>
<xsl:when test="$lang!=\'\'">?lang=<xsl:value-of select="$lang"/>
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
</xsl:variable>