То, что Игнасио говорит, что ваш документ определен в пространстве имен. Как следствие, внутри вашей таблицы стилей вы можете найти соответствие только по полному имени.
Если таблица стилей XSLT соответствует только локальному имени:
<xsl:template match="cd">
...
</xsl:template>
тогда оно никогда не будет совпадать. Однако, если вы поместите это в корневой элемент таблицы стилей:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:catalog="http://tempuri.org/">
...
</xsl:stylesheet>
... и используйте соответствующее имя, например:
<xsl:template match="catalog:cd">
...
</xsl:template>
... тогда это работает.