2012-05-04 47 views
0

我的XML:如何使用for-each-group?

<articles> 
    <article> 
<metadata> 
<type>work</type> 
</metadta> 
<content>work force</content> 
    </article> 

    <article> 
<metadata> 
<type>sport</type> 
</metadta> 
<content>cricket s gentle man game</content> 
    </article> 

    <article> 
<metadata> 
<type>Life</type> 
</metadta> 
<content>Life is beatiful</content> 
    </article> 
    </articles> 

我的xsl:

<xsl:for-each-group select="article" group-by="type"> 
<xsl:for-each select="current-group()"> 
<xsl:value-of select="content/> 
</xsl:for-each> 
</xsl:for-each-group> 

我越来越: 劳动力 板球温柔的男人游戏 生命是beatiful

劳动力 板球温柔的男人游戏 生活是美好的

劳动力 板球温柔的男人游戏 生命是beatiful

(即无类型) 只是我需要: 劳动力 板球温柔的男人游戏 生命是beatiful

+1

请在您的问题中添加示例XML文件,以显示您正在处理的结构。也让我们知道转型的预期结果。 – Martin

+1

对不起,但这仍然不是一个重现您的问题的工作示例。 XML格式不正确(' ...')。另外,XSLT代码片段不太适合XML结构。而不是“group-by =”type“'你可能是指'group-by =”metadata/type“'。纠正这些事情后,分组应该按预期工作。如果多次执行for-each-group循环,则可能会多次调用相应的模板。因此,请提供一个说明问题的完整示例。 – Martin

+1

@XSLT_FRESHER其实,在给定的例子中,根本不需要分组,因为所有的文章都有不同的** type **元素。您可能想要显示一些重复类型的示例XML。谢谢! –

回答

0

你要组 - 通过=“元数据/类型”。