Subject: RE: [xsl] Matching namespaces - one works, one doesn't ? From: "Kerry, Richard" <richard.kerry@xxxxxxxxxxx> Date: Thu, 29 Nov 2007 11:47:40 -0000 |
Thank you. Yes, I'm using Saxon, hence using 2.0. Yes, this is called from xsl:copy, to which I've added attribute copy-namespaces="no". I've removed the xmlns:mytest from the xsl:stylesheet. I now have only the one template : <xsl:template match="@*[local-name()='noNamespaceSchemaLocation']" /> And the xmlns:xsi and xsi:noNamespaceSchemaLocation are now both being removed. Seems I may need to read up a bit more on namespaces. Doesn't seem too intuitive to me..... Appreciatively, Richard. > -----Original Message----- > From: Michael Kay [mailto:mike@xxxxxxxxxxxx] > Sent: 29 November 2007 11:31 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: RE: [xsl] Matching namespaces - one works, one doesn't ? > > > However, if I have > > <xsl:template match="@*[local-name()='xsi']" /> It has > > no effect on the xmlns:xsi attribute, which remains in the output. > > That's because as far as the XPath data model is concerned it's not an > attribute, it's the serialization of a namespace node. > > I assume you're using <xsl:copy>. That copies all the > namespace nodes of an > element. In XSLT 2.0 you can specify copy-namespaces="no" to > prevent this. > In 1.0, use <xsl:element name="{local-name()}" > namespace="{namespace-uri()}"> instead. > > Michael Kay > http://www.saxonica.com/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Matching namespaces - one, Michael Kay | Thread | Re: [xsl] Matching namespaces - one, Andrew Welch |
RE: [xsl] Matching namespaces - one, Michael Kay | Date | Re: [xsl] include error, Torsten Schassan |
Month |