|
Subject: Re: [xsl] Trouble with namespaces and running identity transform on XHTML From: Kevin Jones <kjones@xxxxxxxxxxx> Date: Thu, 11 Mar 2004 00:23:43 +0000 |
On Wednesday 10 March 2004 22:22, James J. Ramsey wrote:
>
> except in the output, that prefixes elements with
> "h:", which I do *not* want.
>
Sorry, I misunderstood the request. Not just into the XHTML
namespace but empty prefix as well. This works for me on
Sablotron and Saxon but see the note below on your question.
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:template match="*">
<xsl:choose>
<xsl:when test="namespace-uri()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:when>
<xsl:otherwise>
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@*|node()" />
</xsl:element>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
> Anyway, what I'm not sure of is whether the XSLT spec
> guarantees that
>
> <xsl:element name="NCName"> <!-- No prefix in NCName
> -->
> <!-- Content of NCName . . . -->
> </xsl:element>
>
> will result in an element with the unprefixed name
> NCName in the default namespace, or if it's just that
> XSLT processors happen to serialize that as "<NCName>
> . . . </NCName>".
>
In short, I don't think there are any guarantees about this
particularly across different processors, although a general
goal of some processor writers will have been to make the output
as 'nice' as possible, i.e. minimise namespace declarations and
try and preserve prefixes.
Kev.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Trouble with namespaces a, James J. Ramsey | Thread | RE: [xsl] Trouble with namespaces a, Michael Kay |
| [xsl] Is exclude-result-prefixes wi, James J. Ramsey | Date | Re: [xsl] Is exclude-result-prefixe, David Carlisle |
| Month |