Fusionar un conjunto de elementos basado en un atributo común en XSLT 1.0

Estoy trabajando con XSLT1.0. Mi requisito es fusionar un conjunto de elementos basados ​​en un atributo común. Tengo un xml que se ve así:

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

Quiero el XML de salida como abajo

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

He intentado usar, pero no pudo lograr el resultado correcto. Por favor, hágame saber si este tipo de transformación es posible y cómo se puede hacer. ¡Aprecio tu ayuda!

Respuestas a la pregunta(1)

Su respuesta a la pregunta