计算XSLT 2.0中变量中的字符数

时间:2016-04-07 13:14:11

标签: xml xslt

我有一个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>

我不知道这是否是正确的解决方案,但没有得到预期的结果。一点帮助将是非常值得赞赏的。

1 个答案:

答案 0 :(得分:4)

使用string-length(foo) - string-length(translate(foo, ',', ''))