Xml 将contains函数与xsl:key一起使用

Xml 将contains函数与xsl:key一起使用,xml,xslt,Xml,Xslt,我是XSLT1.0新手,所以请原谅我的编码技能差。我试图统计xsl:key中包含类似“fee”字符串的记录。虽然这是有效的,但它将计数应用于所有不同的记录。如何计算包含特定于ReferralDesc元素的字符串的记录 输出(当前) XML 51240 拆除工程 建筑师 49 标记什么 提供的资料 51304 更改和增补 树 28 标记一些 报价 XSLT 送交 计数 总天数 平均天数 CntInfo 答复 看来毅力是有回报的。已更新密钥()。使用xsl:key name=“info”ma

我是XSLT1.0新手,所以请原谅我的编码技能差。我试图统计xsl:key中包含类似“fee”字符串的记录。虽然这是有效的,但它将计数应用于所有不同的记录。如何计算包含特定于ReferralDesc元素的字符串的记录

输出(当前)

XML


51240
拆除工程
建筑师
49
标记什么
提供的资料
51304
更改和增补
树
28
标记一些
报价
XSLT


送交
计数
总天数
平均天数
CntInfo
答复


看来毅力是有回报的。已更新密钥()。使用xsl:key name=“info”match=“reference[contains(./Comments,'fee')]”使用=“refereraldesc”

您想要的表达式是

<xsl:value-of select="count(key('groups', ReferralDesc)/Comments[contains(., 'fee')])" /> 

另外,XSLT中的这个表达式

<xsl:value-of select="count(. | key('groups', ReferralDesc))"/>

可以稍微简化为这样(因为您已经知道当前节点是当前键的一部分)


您想要的表达式是

<xsl:value-of select="count(key('groups', ReferralDesc)/Comments[contains(., 'fee')])" /> 

另外,XSLT中的这个表达式

<xsl:value-of select="count(. | key('groups', ReferralDesc))"/>

可以稍微简化为这样(因为您已经知道当前节点是当前键的一部分)



谢谢Tim C感谢您的回复。谢谢Tim C感谢您的回复。
<xsl:value-of select="count(. | key('groups', ReferralDesc))"/>
<xsl:value-of select="count(key('groups', ReferralDesc))"/>