XML ドキュメントには、いくつかの住所データがあります。
<zip>08001</zip>
<zipPlus xsi:nil="true" />
と
<zip>08002</zip>
<zipPlus>4512</zipPlus>
使用する値がある場合にのみ、zip プラス値を表示したいだけです。(この例では、正しい 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でnil-led要素をチェックする適切な方法は何ですか? この問題を回避し、私が望む結果を得る他の方法はありますか?