You could use
Code:
select="sum(@rel | preceding-sibling::point/@ref)"
but that's not going to perform well if the number of points is large.
A better solution is to use recursion:
Code:
<xsl:template match="ruler">
<xsl:apply-templates select="point[1]">
<xsl:with-param name="total" select="0"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="point">
<xsl:param name="total"/>
<xsl:value-of select="$total + @rel"/><br/>
<xsl:apply-templates select="following-sibling::point[1]">
<xsl:with-param name="total" select="$total + @rel"/>
</xsl:apply-templates>
</xsl:template>