[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: XML with Default Namespace

Subject: Re: XML with Default Namespace
From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx>
Date: Thu, 2 Aug 2007 09:19:29 +0100
Re:  XML with Default Namespace
On 8/2/07, Karl Stubsjoen <kstubs@xxxxxxxxx> wrote:
> Ok, some progress, but I can't seem to get rid of the attribute, xmlns:o.
> In my identity copy, I am trying match on attribute o, like this:
>
>         <xsl:template match="@o" mode="transform"/>
>
> My node match looks like this:
>
> <xsl:template match="@* | node()" mode="transform">
> <xsl:copy>
> <xsl:apply-templates select="@*" mode="transform"/>
> <xsl:apply-templates select="node()" mode="transform"/>
> </xsl:copy>
> </xsl:template>
>
> My XSL decleration includes the exclude prefix for "o", but thinking
> that that is out of context, this just excludes prefixes that the xsl
> document would produce, correct?  Not prefixes associated with the
> source xml.

When you copy a node you copy it's namespace too - the two are bound
in stone and cannot be separated :)

exclude-result-prefixes will only exclude namespaces that aren't used
in the output (think about the "xs" namespace in 2.0) - it cannot
change the names of nodes that are copied to the output.... so if you
want to a have a node in the output with the same local-name as the
current node, then you need to create it:

<xsl:template match="*">
  <xsl:element name="{local-name()}">
    <xsl:apply-templates select="@*|node()"/>
  </xsl:element>
</xsl:template>

and for attributes:

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


> Wow!  I feel like such a beginner when it comes to namespaces!

You're not alone, I think everyone struggles with them.  The Excel
worksheet XML doesn't exactly use them well either....


-- 
http://andrewjwelch.com

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.