Возможно, я неправильно понял вопрос, но я думаю, что вы должны сделать это:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="somenamespace"
version="2.0">
<xsl:output method="xml" omit-xml-declaration="no" standalone="yes" indent="yes"/>
<xsl:template match="myMatchedNode">
<tag>Some text i want inserted into the xsl</mynamespace>
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Это должно позволить вам использовать теги пространства имен в качестве пространства имен по умолчанию, а в выходном документе они будут также использоваться в качестве пространства имен по умолчанию. Ваш входной документ все еще может использовать неприятный синтаксис mynamespace: tag.
Вы также можете попробовать сделать это:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="somenamespace"
xmlns:mynamespace="somenamespace"
version="2.0">
Я не совсем уверен, что заменит тег mynamespace: просто тегом, и если это произойдет, это может зависеть от реализации.