XSLT 2.0测试令牌化结果是否没有价值

时间:2018-12-09 15:16:26

标签: xslt-2.0

在XSLT 2.0中,我正在处理由~分隔的字符串。有时,标记化结果在两个~之间包含“ nothing”的实例。我尝试使用empty()

对此进行测试
<xsl:for-each select="tokenize($list_of_items,'~')">
    <xsl:if test="not(empty(.))">
    ...do something here...
    </xsl:if>
</xsl:for-each>

... doesn't work。在标记化列表中测试无/空/空白值的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

tokenize为您提供了一个字符串序列,如果您的输入中包含两个相邻的分隔符(例如tokenize('foo~~bar', '~')),那么您会得到一个空字符串,因此tokenize($list_of_items,'~')[not(. = '')]应该排除空字符字符串。