我试图对width属性的值求和,但它只是将它们的值连接起来
这是我的代码
XSLT
<xsl:template match="//table">
<xsl:variable name="numb" type="xs:integer*">
<xsl:for-each select="tr/td[@width]">
<xsl:value-of select="number(translate(@width,'%',''))"/>
</xsl:for-each>
</xsl:variable>
<p>
<xsl:value-of select="sum($numb)"/>
</p>
</xsl:template>
XML
<table>
<tr>
<td width="100%"><p>x</p>
</td>
<td width="20%"><p>x</p></td>
</tr>
</table>
我得到的结果为:10020
答案 0 :(得分:1)
假设您需要XSLT 2.0
<xsl:template match="table">
<p>
<xsl:value-of select="sum(tr/td[@width]/number(translate(@width, '%', '')))"/>
</p>
</xsl:template>