1

我一直在考虑这个问题,我很确定必须有一个基本的解决方案。

我正在尝试使用 XSLT 1.0 将 xml 文件转换为 XHTML,并且我希望有一个部分,对于每个玩家(XML 文件中的 fD:jogador),代码将查看他们的 @id 属性,然后检查目标元素及其目标子元素(fD:golos 和 fD:golo),并计算所有由@id 等于我们正在处理的玩家的玩家得分的目标。

我现在拥有的,是在匹配播放器的模板中,

<xsl:call-template name="calcgolos">
    <xsl:with-param name="id" select="@id"/>
</xsl:call-template>    

模板本身如下所示:

 <xsl:template name="calcgolos">
    <xsl:param name="id"/>
    <xsl:value-of select="count(//fD:golo/@marcador = $id)"/>
 </xsl:template>

这只是每次都返回 0,这不是我想要的!

当我尝试在 Eclipse 的 XPath 处理器中输入此表达式时,将 $id 替换为实际的 id,在本例中为“POR_NANI”,它...爆炸了。但是,如果我在没有计数的情况下执行此操作,则会显示正确的元素,因此语法不会错误。

在此先感谢您的帮助!

4

1 回答 1

1

你想计算节点,而不是测试。尝试这个:

<xsl:value-of select="count(//fD:golo[@marcador = $id])"/>
于 2012-11-20T17:43:57.400 回答