It's getting ignored because you are simply printing out the value with:
<paragraph><xsl:value-of select="."/></paragraph>
If you want the em
template to be applied on the contents of the p[@class='two']
template, then you should replace it with:
<xsl:template match="p[@class='two']">
<paragraph><xsl:apply-templates /></paragraph>
</xsl:template>
Now the contents of <paragraph>
will be processed in a template if there is one (not simply converted into text and printed out).