属性我试图总结width属性的值,但它只是CONCAT他们的价值观总和值在XSLT
这里是我的代码
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
请不要逃避你的XML代码,这是一个痛苦进入它的编辑器的方式。相反,当您在S-O上发布问题时(或缩进四个空格,这是相同的),只需单击编辑器中的代码按钮即可)。它会为你节省繁琐的每个''字符的逃逸痛苦。哦,并为可读性缩进代码;)。修复。 – Abel
PS:你的代码实际上是正确的,而Martin Honnen的版本更简单。唯一的错误是'type =“xs:integer *',它应该是'as =”xs:integer *'。然后它“只是工作”(考虑到你没有得到一个错误是非常非常奇怪的) – Abel