如何在XSLT中检查一个属性是否为空?

3
我有一个像这样的XML
    <siddata lastUpdated="18.09.2013 06:47 ">
  <data itemnumber="12" variant1="Lys eg" variant2="" variant1group="Farver" variant2group="Størrelser" var1code="lys" var2code="" ></data>
  <data itemnumber="124" variant1="Røget eg" variant2="" variant1group="Farver" variant2group="Størrelser" var1code="rog" var2code="" ></data>
</siddata>

如您在XML中所见,variant2对于两行都是空的。我想在if语句中检查这一点。尝试了以下代码:

  <xsl:if test="siddata/data[@variant2] !=''">

                  </xsl:if>

但从未工作过。 注意:我想检查这两行是否为空。


  1. 当你说“null”时,你似乎是指属性存在,但其值为空字符串。而“empty”是否意味着相同的事情?或者你是否包括属性不存在的情况?
  2. 当你说某个东西不起作用时,请具体说明你收到的具体结果以及与你预期的有何不同之处。
- undefined
1个回答

5
如果任何值都不为空,则为真,否则为假。
siddata/data/@variant2 != ''

如果所有值都为空,则此条件为真,否则为假:
not(siddata/data/@variant2 != '')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接