我有一个XML,如下所述。此xml包含例如地址节点( address1 )。我只想计算地址文本中字符(,)的出现次数。我正在使用模板,只是提到我将地址文本存储到xslt变量中。
示例XML:
<xml>
<address1>123 Fake Street, Alberta, Alberta, 234567</address1>
<address1>123 Fake Street, Alberta, Alberta</address1>
</xml>
我的XSLT:
<xsl:variable name="address" select="//*[local-name()='address1')]"/>
<xsl:variable name="totalComma" select="count(contains($address, ','))"/>
<xsl:choose>
<xsl:when test="$totalComma = 3">
<!--Do something-->
</xsl:when>
<xsl:when test="$totalComma = 2">
<!--Do something-->
</xsl:when>
</xsl:choose>
我不知道这是否是正确的解决方案,但没有得到预期的结果。一点帮助将是非常值得赞赏的。
答案 0 :(得分:4)
使用string-length(foo) - string-length(translate(foo, ',', ''))
。