Scalanie zestawu elementów w oparciu o wspólny atrybut w XSLT 1.0

Pracuję z XSLT1.0. Moim wymaganiem jest połączenie zestawu elementów w oparciu o wspólny atrybut. Mam plik XML, który wygląda tak:

<?xml version="1.0" encoding="utf-8"?>
<Catalog>
    <product>
        <productId>S100</productId>
        <name>RNKC</name>
        <category>books</category>
    </product>
    <product>
        <productId>S100</productId>
        <name>RNKC</name>
        <category>CD</category>
    </product>
    <product>
        <productId>S200</productId>
        <name>ISDR</name>
        <category>eBook</category>
    </product>
    <product>
        <productId>S200</productId>
        <name>ISDR</name>
        <category>books</category>
    </product>
</Catalog>

Chcę wyjściowy XML jak poniżej

<?xml version="1.0" encoding="utf-8"?>
<Catalog>
    <product>
        <productId>S100</productId>
        <name>RNKC</name>
        <category>books,CD</category>
    </product>
    <product>
        <productId>S200</productId>
        <name>RNKC</name>
        <category>eBook,books</category>
    </product>
</Catalog>

Próbowałem użyć, ale nie udało się uzyskać poprawnego wyjścia. Pls daj mi znać, czy ten rodzaj transformacji jest możliwy i jak można to zrobić. Doceniam Twoją pomoc!

questionAnswers(1)

yourAnswerToTheQuestion