I would recommend adding more rules for template priority construction:
for example, I would expect this:
<xsl:template match="dis.para[@style='k' or @style='c'][not(dnumber)]">
to override this:
<xsl:template match="dis.para[@style='k' or @style='c']">
rather than having to specify this (as is the case with the current spec):
<xsl:template match="dis.para[@style='k' or @style='c'][dnumber]">
Cheers,
Matt