[Home] [By Thread] [By Date] [Recent Entries]

Subject: Re: 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
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member