|
Subject: Re: [xsl] XML with Default Namespace From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx> Date: Thu, 2 Aug 2007 09:19:29 +0100 |
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 |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] XML with Default Namespac, Karl Stubsjoen | Thread | RE: [xsl] XML with Default Namespac, Michael Kay |
| RE: [xsl] XML with Default Namespac, Michael Kay | Date | RE: [xsl] XML with Default Namespac, Michael Kay |
| Month |