Re: [xsl] How I could produce xml without xmlns:* ???

Subject: Re: [xsl] How I could produce xml without xmlns:* ???
From: Michael Pediaditakis <mp49@xxxxxxxxx>
Date: Mon, 13 Jan 2003 12:58:29 +0000
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



Current Thread