首页 > 解决方案 > 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>

...这是行不通的。在标记化列表中测试无/空/空白值的正确方法是什么?

标签: xslt-2.0

解决方案


tokenize给你一个字符串序列,如果你有一个带有两个相邻分隔符的输入(例如tokenize('foo~~bar', '~')),那么你会得到一个空字符串,所以tokenize($list_of_items,'~')[not(. = '')]应该排除空字符串。


推荐阅读