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を返すだけですが、これは私が探しているものではありません。

$ idを実際のID(この場合は「POR_NANI」)に置き換えて、eclipseのXPathプロセッサにこの式を入力しようとすると、爆発しました。ただし、カウントなしで実行すると、正しい要素が表示されるため、構文が間違っていることはありません。

助けてくれてありがとう!

4

1 に答える 1

1

テストではなく、ノードをカウントする必要があります。これを試して:

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