2013-06-05 91 views
0

我想计算一些节点的总和。学习者将有1或更多的学习目标,并且我需要知道学习者学习目标的GLH节点的总数。XSL节点之和

这是一些示例XML。

<Learner> 
<LearnRefNumber>422</LearnRefNumber>   
<FamilyName>John</FamilyName> 
<GivenNames>Smith</GivenNames> 
<LearningDelivery> 
    <LearnAimRef>zilsk14a</LearnAimRef> 
    <AimType>4</AimType> 
    <AimSeqNumber>1</AimSeqNumber> 
    <GLH>2775</GLH> 
</LearningDelivery> 
<LearningDelivery> 
    <LearnAimRef>zilsk14b</LearnAimRef> 
    <AimType>4</AimType> 
    <AimSeqNumber>2</AimSeqNumber> 
    <GLH>2500</GLH> 
</LearningDelivery> 
</Learner> 

这是我的XSL。学习目标的数量工作正常,但我正在努力整理GLH。

<xsl:for-each select="t:Learner"> 
<div class="learner">    
    <xsl:variable name="LearningAims" select="count(t:LearningDelivery)" /> 
    <xsl:variable name="LearnerGLH" select="sum(t:LearningDelivery/GLH)" /> 

    <table> 
     <tr> 
      <th>Learner Ref</th> 
      <th>Learning Aims</th> 
      <th>Total GLH</th> 
     </tr> 

     <tr> 
      <td> 
      <xsl:value-of select="t:LearnRefNumber" /> 
      </td> 

      <td> 
      <xsl:value-of select="$LearningAims" /> 
      </td> 

      <td> 
      <xsl:value-of select="$LearnerGLH" /> 
      </td> 
     </tr> 
    </table> 
</div> 

请帮助。非常感谢

回答

0

您正在编写sum(t:LearningDelivery/GLH),但在输入XML中,LearningDelivery和GLH元素位于相同的命名空间中。你想要sum(t:LearningDelivery/t:GLH)