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 17:38:54 +0000
You cannot use the copy* XSL constructs because
you don't want deep copy (otherwise you will not be
able to recursively process children nodes as well) and because the
namespace declarations are always copied(?) (as well as the
full names of elements (e.g. not the "local name"). When
the prefixes are copied then the namespace declarations are
produced as well. I do not think that there are many alternatives.

Mike.


Andrey Solonchuk wrote:
Hello Michael,

Monday, January 13, 2003, 2:58:29 PM, you wrote:

thanks, I thick also,
but it some dificulty than using copy-of


MP> You could add a post-processing step with something such as:


MP> <xsl:template match="*">
MP>    <xsl:element name="{local-name()}">
MP>       <xsl:for-each select="attribute::*">
MP>         <xsl:attribute name="{local-name(.)}">
MP>            <xsl:value-of select="."/>
MP>         </xsl:attribute>

MP>       </xsl:for-each>
MP>       <xsl:apply-templates select="*|text()"/>
MP>    </xsl:element>
MP> </xsl:template>

MP> I'm not sure if it works, but I think it used to work when I created
MP> it!

MP> Cheers,

MP> Mike.


MP> 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>






MP> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list








XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread