<xsl:if test="year != null">
<xsl:value-of select="year"/>,
</xsl:if>
Это будет true()
, если есть хотя бы один year
дочерний элемент текущего узла и один null
дочерний элемент текущего узла, чьи строковые значения не равны.
Скорее всего, в документе XML нет элемента null
, который вы не показали ...
Используйте
<xsl:if test="year">
<xsl:value-of select="concat(year, ',')"/>
</xsl:if>