It's displaying twice because you're applying templates twice
<xsl:apply-templates select = "t/text()" />
<xsl:apply-templates />
You don't need to add an apply-templates call to your existing code provided that your existing code is already doing a recursive descent of the tree (all the way down to the text nodes) using apply-templates without parameters. You haven't shown your whole code so I can't be sure this is the case, but it looks like it from the evidence of the output.
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference