Đối với mỗi nút "đại lý", tôi cần phải tìm các phần tử "stmt" có cùng giá trị key1, key2, key3 và chỉ xuất một nút "stmt" với "comm" và Các giá trị "prem" được cộng lại với nhau. Đối với bất kỳ phần tử "stmt" nào trong "đại lý" đó không khớp với bất kỳ phần tử "stmt" nào khác dựa trên key1, key2 và key3, tôi cần xuất chúng như nguyên trạng. Vì vậy, sau khi chuyển đổi nút "đại lý" đầu tiên sẽ chỉ có hai nút "stmt" (một tổng hợp) và nút "đại lý" thứ hai sẽ được chuyển vì các khóa không khớp. Các giải pháp XSLT 1.0 hoặc 2.0 là ok ... mặc dù biểu định kiểu của tôi hiện là 1.0. Lưu ý rằng các nút đại lý có thể có bất kỳ số phần tử "stmt" nào có các phím phù hợp cần được nhóm và tổng hợp và bất kỳ số nào không.Cách nhóm và tổng giá trị trong XSLT
<statement>
<agency>
<stmt>
<key1>1234</key1>
<key2>ABC</key2>
<key3>15.000</key3>
<comm>75.00</comm>
<prem>100.00</prem>
</stmt>
<stmt>
<key1>1234</key1>
<key2>ABC</key2>
<key3>15.000</key3>
<comm>25.00</comm>
<prem>200.00</prem>
</stmt>
<stmt>
<key1>1234</key1>
<key2>ABC</key2>
<key3>17.50</key3>
<comm>25.00</comm>
<prem>100.00</prem>
</stmt>
</agency>
<agency>
<stmt>
<key1>5678</key1>
<key2>DEF</key2>
<key3>15.000</key3>
<comm>10.00</comm>
<prem>20.00</prem>
</stmt>
<stmt>
<key1>5678</key1>
<key2>DEF</key2>
<key3>17.000</key3>
<comm>15.00</comm>
<prem>12.00</prem>
</stmt>
</agency>
Câu hỏi hay (+1). Xem câu trả lời của tôi cho một giải pháp XSLT 1.0 hoàn chỉnh. –