For an first solution there are only small changes necessary.
Move the output for <abcTransactionTypeCategory>
into the abc:abcTransactionTypeXml
template.
<xsl:template match="abc:abcTransactionTypeXml">
<xsl:apply-templates select="abc:id" />
<abcTransactionTypeCategory>
<xsl:apply-templates select="abc:abcTransactionTypeCategoryId" />
<xsl:apply-templates select="abc:description" />
<xsl:apply-templates select="abc:type" />
</abcTransactionTypeCategory>
</xsl:template>
And then remove <abcTransactionTypeCategory>
from each other template.
Second improvement: Add a template which remove the namespace prefix abc
<xsl:template match="abc:*" >
<xsl:element name="{local-name()}">
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
Now you can remove all templates which only remove the namespace prefix.
Therefore try this:
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="2.0"
xmlns:ssat="abcTransactionType.schema.xml.google.com"
exclude-result-prefixes="abc"
xmlns="abcTransactionType.schema.abc.xml.google.com"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<abcTransactionType>
<xsl:apply-templates select="abc:abcTransactionTypeXml" />
</abcTransactionType>
</xsl:template>
<xsl:template match="abc:abcTransactionTypeXml">
<xsl:apply-templates select="abc:id" />
<abcTransactionTypeCategory>
<xsl:apply-templates select="abc:abcTransactionTypeCategoryId" />
<xsl:apply-templates select="abc:description" />
<xsl:apply-templates select="abc:type" />
</abcTransactionTypeCategory>
</xsl:template>
<xsl:template match="abc:id">
<id>
<xsl:value-of select="." />
</id>
</xsl:template>
<xsl:template match="abc:abcTransactionTypeCategoryId">
<id>
<xsl:value-of select="." />
</id>
</xsl:template>
<xsl:template match="abc:*" >
<xsl:element name="{local-name()}">
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Which will generate the following output:
<?xml version="1.0"?>
<abcTransactionType xmlns="abcTransactionType.schema.abc.xml.google.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<id>4</id>
<abcTransactionTypeCategory>
<id>1</id>
<description>POST OFFICE</description>
<type>POST</type>
</abcTransactionTypeCategory>
</abcTransactionType>