在XML文档中我有一些地址数据..我如何检查,如果XML值是nil在XSLT
<zip>08001</zip>
<zipPlus xsi:nil="true" />
和
<zip>08002</zip>
<zipPlus>4512</zipPlus>
只希望打扰显示拉链正值如果有值使用。 (就本例而言,我不在乎它是否为正确的zip加格式)
试图在XSLT中使用以下代码片段似乎没有问题,我认为它与我是怎么检查的的xsl:无值
<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元素的正确方法是什么? 有没有其他的方法来解决这个问题,并得到我想要的结果?
看到我的答案。我只用'not(zipPlus/@ xsi:nil)'测试,假设如果缺少属性,你需要zipplus。然而@ Jim-Garrison可以工作(即使在我的测试中,你需要用'xsi'替换前缀'xsl')。 – 2011-06-10 22:16:55