Subject: RE: [xsl] Removing namespace attributes From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Thu, 22 Sep 2005 12:59:52 +0100 |
exclude-result-prefixes only affects the namespaces created using literal result elements. It has no effect on namespaces copied from the source document using xsl:copy or xsl:copy-of. XSLT 2.0 provides a copy-namespaces=yes|no attribute on these instructions. In 1.0 you have to switch from using xsl:copy to using an modified-identity template with xsl:element name="{local-name()}". Rather than this: <xsl:template match="@* | node()"> > <xsl:if test="name()!='xlink:href'"> > <xsl:copy> > <xsl:apply-templates select="@* | node()" /> > </xsl:copy> > </xsl:if> > </xsl:template> it's much cleaner to do this: <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()" /> </xsl:copy> </xsl:template> <xsl:template match="@xlink:href"/> Apart from anything else, it doesn't depend on the document author's choice of namespace prefix. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Hank Ratzesberger [mailto:hankr@xxxxxxxxxxxxxxxx] > Sent: 22 September 2005 01:31 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Removing namespace attributes > > I want to strip all namespaces and one > attribute (declared in the namespace). > > In my stylesheet, I declare the namespaces > and then list them in the exclude-result-prefixes. > But it doesn't work. The namespaces remain. > > Thank you for your ideas, > Hank > > Hank Ratzesberger > NEES Programmer > Institute for Crustal Studies > University of California, Santa Barbara > > > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:flextps="http://flextps.org/schema/" > xmlns:xlink="http://www.w3.org/1999/xlink" > exclude-result-prefixes="flextps"> > <xsl:template match="@* | node()"> > <xsl:if test="name()!='xlink:href'"> > <xsl:copy> > <xsl:apply-templates select="@* | node()" /> > </xsl:copy> > </xsl:if> > </xsl:template> > </xsl:stylesheet>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Removing namespace attrib, Jonas Lundberg | Thread | [xsl] Newbee, vijay thakre |
Re: [xsl] Wath is the opposite of t, António Mota | Date | Re: [xsl] Wath is the opposite of t, António Mota |
Month |