You could add a post-processing step with something such as:
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:for-each select="attribute::*">
<xsl:attribute name="{local-name(.)}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:for-each>
<xsl:apply-templates select="*|text()"/>
</xsl:element>
</xsl:template>
I'm not sure if it works, but I think it used to work when I created
it!
Cheers,
Mike.
Andrey Solonchuk wrote:
Hello xsl-list,
How I could produce xml without xmlns:*
I use the xsl
<?xml version='1.0'?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:xalan="http://xml.apache.org/xalan"
xmlns:my="http://my"
xmlns:axsl="http://www.w3.org/1999/XSL/TransformAlias"
exclude-result-prefixes="xalan my xsl xmlns axsl">
<xsl:namespace-alias stylesheet-prefix="axsl" result-prefix="xsl"/>
<xsl:output method="xml" indent="yes" xalan:indent-amount="5"/>
<xsl:key name="test" match="field" use="."/>
<my:import>
<field id="1">11</field>
<field id="2">11</field>
<field id="3">12</field>
</my:import>
<xsl:template match="/">
<xsl:copy-of select="document('')//my:import/"/>
</xsl:template>
</xsl:stylesheet>
and in output I get the next
<?xml version="1.0" encoding="UTF-8"?>
<my:import xmlns:my="http://my" !!!!!!
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" !!!!!!
xmlns:xalan="http://xml.apache.org/xalan" !!!!!!
xmlns:axsl="http://www.w3.org/1999/XSL/TransformAlias"> !!!!!!
<field id="1">11</field>
<field id="2">11</field>
<field id="3">12</field>
</my:import>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list