Hola:
Como veo que el xml no es otra cosa que un listado, te muestro como realicé el xsl de mi sitemap:
sitemap.xsl, pero básicamente es que los bucles son xsl:for-each, los condicionales xsl:choose y se recogen los datos con xsl:value-of...
hay muchas cosas más, pero aún sé poco de xml y no podría ayudarte en cosas más complejas como un doctyle o u schema... espero que te sirva
Saludos