`
<Fruits>
<Fruit>
<Name>Mango</Name>
<Price>20</Price>
<Vendor>Vendor1</Vendor>
<State>AK</State>
<Status>Delivered</Status>
<ProductCode>123</ProductCode>
</Fruit>
<Fruit>
<Name>Apple</Name>
<Price>34</Price>
<Vendor>Vendor2</Vendor>
<State>AS</State>
<Status>Delivered</Status>
<ProductCode>111</ProductCode>
</Fruit>
<Fruit>
<Name>Mango</Name>
<Price>20</Price>
<Vendor>Vendor3</Vendor>
<State>FL</State>
<Status>Delivered</Status>
<ProductCode>123</ProductCode>
</Fruit>
<Fruit>
<Name>Papaya</Name>
<Price>5</Price>
<Vendor>Vendor4</Vendor>
<State>CA</State>
<Status>Sold</Status>
<ProductCode>222</ProductCode>
</Fruit>
</Fruits>
`
我不想包括Mango报告,因为状态是交付给另一个具有相同ProductCode,价格和状态的州。
预期产出:
ProductCode Fruit Price
111 Apple 34
222 Papaya 5
答案 0 :(得分:0)
这样的事情:
<xsl:for-each-group select="Fruit"
group-by="string-join((ProductGroup, Price, Status), '~')">
<xsl:apply-templates select="current-group()[last()=1]"/>
</xsl:for-each-group>
谓词[last()=1]
的效果是仅在其大小为1时才处理该组。