В XML-документе у меня есть некоторые адресные данные ..
<zip>08001</zip>
<zipPlus xsi:nil="true" />
и
<zip>08002</zip>
<zipPlus>4512</zipPlus>
Вкл. хотят только потрудиться с отображением значения zip plus, если есть ценность для использования. (для целей этого примера меня не волнует, правильный ли это формат zip plus или нет)
Попытка использовать следующий фрагмент в XSLT никогда не работает правильно, и я думаю, что это связано с тем, как Я проверяю значение xsl: nil
<EmployerZipCode>
<xsl:value-of select="zip"/>
<xsl:if test="zipPlus != @xsl:nil">
<xsl:value-of select="'-'"/>
<xsl:value-of select="zipPlus"/>
</xsl:if>
<xsl:value-of select="$sepChar"/> <!--this is a comma -->
</EmployerZipCode>
Результаты, которые я получаю, всегда
08001,
08002,
не
08001,
08002-4512,
Каков правильный способ проверки элементов с нулевым значением в XSLT? Есть ли другие способы обойти эту проблему и получить желаемый результат?