It is hard to tell what goes wrong as neither your input "XML" nor your output "XML" is well-formed.
When I use Saxon 9.3 with the stylesheet
Code:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="oh"/>
</xsl:stylesheet>
and the input
Code:
<ts-ut id="09" dttyp="x-text/html" rstyp="str">
<sr>
<oh id="1" x="b">{1}</oh>Dwnld Cter<oh id="2" x="b">{2}</oh>
</sr>
<tg>
<oh id="1" x="b">{1}</oh>
<oh id="2" x="b">{2}</oh>
</tg>
</ts-ut>
the result is
Code:
<ts-ut id="09" dttyp="x-text/html" rstyp="str">
<sr>Dwnld Cter</sr>
<tg/>
</ts-ut>
where the "oh" elements are removed.