Mesclando conjunto de elementos com base em um atributo comum no XSLT 1.0

Eu estou trabalhando com XSLT1.0. Minha exigência é mesclar um conjunto de elementos com base em um atributo comum. Eu tenho um xml que se parece com isso:

<?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>

Eu quero a saída XML como abaixo

<?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>

Tentei usar, mas não consegui alcançar o resultado correto. Pls me avise se esse tipo de transformação é possível e como isso pode ser feito. Agradeço sua ajuda!

questionAnswers(1)

yourAnswerToTheQuestion