【发布时间】:2017-11-13 16:05:57
【问题描述】:
以下是我的输入 xml。我正在尝试使用 current-group() 函数进行分组,但它不符合我的要求,下面我提供了详细信息。
<UsrTimeCardEntry>
<Code>1<Code>
<Name>TC1</Name>
<Person>
<Code>074</Code>
</Person>
</UsrTimeCardEntry>
<UsrTimeCardEntry>
<Code>2<Code>
<Name>TC2</Name>
<Person>
<Code>074</Code>
</Person>
</UsrTimeCardEntry>
我想按人/代码对其进行分组,使其看起来像这样
<Person Code="074">
<UsrTimeCardEntry>
<Code>1</Code>
<Name>TC1</Name>
</UsrTimeCardEntry>
<UsrTimeCardEntry>
<Code>2</Code>
<Name>TC2</Name>
</UsrTimeCardEntry>
</Person>
为此,我使用了下面的 xslt,但它再次复制了我不想要的人,我在这里缺少什么,我尝试使用 current-group() except 而不是 [child: :Person] 但这也不起作用。
<xsl:template match="businessobjects">
<xsl:for-each-group select="UsrTimeCardEntry" group-by="Person/Code">
<Person Code="{current-grouping-key()}">
<xsl:copy-of select="current-group()"></xsl:copy-of>
</Person>
</xsl:for-each-group>
</xsl:template>
【问题讨论】: