[xsl] Getting unique items from elements

I have the following snippet of XML:
<books>
<book>
<category>Children</category>
<category>English</category>
<title>Mary Poppins</title>
</book>
<book>
<category>Children</category>
<category>Spanish</category>
<title>Los Perdidos</title>
</book>
</books>
Which I currently (and erroneously) transform using:
<xsl:template match="/">
<xsl:for-each select="books/book/category">
<xsl:value-of select="."/>,
</xsl:for-each>
</xsl:template>
The output as you would expect includes the category of "Children" twice. Is
there a way in XSL to extract only the unique elements from <category>?
Thank you!