我有一个xml文件,我需要使用xsl:for-each-group进行分组。一切正常,但问题来自于有些元素在其末尾有空白区域(例如<word>test </word> and <word>test</word>
),但我需要将它们视为一组。
以下是示例xml文件:
<u>
<s>
<w>this </w>
<w>is </w>
<w>a </w>
<w>test </w>
</s>
<s>
<w>this</w>
<w>is</w>
<w>a</w>
<w>test</w>
</s>
<u>
这是xslt代码
<xsl:for-each-group select="bncDoc/stext/div/u/s" group-by="w" >
<tr>
<td style="text-align: center;">
<xsl:value-of select="current-grouping-key()"/>
</td>
<td>
<xsl:value-of select="count(current-group())"/>
</td>
</tr>
</xsl:for-each-group>
有没有解决方法呢?
答案 0 :(得分:3)
<xsl:for-each-group select="bncDoc/stext/div/u/s/w" group-by="normalize-space()">
<!-- ... -->
</xsl:for-each-group>
答案 1 :(得分:1)
好的,找到了答案:
您只需要以这种方式使用normalize-space():
<xsl:for-each-group select="bncDoc/stext/div/u/s/w" group-by="normalize-space((text())">
.
.
.
</xsl:for-each-group>