xsl-list
[Top] [All Lists]

RE: [xsl] Matching namespaces - one works, one doesn't ?

2007-11-29 04:48:23

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(_at_)saxonica(_dot_)com] 
Sent: 29 November 2007 11:31
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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/


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--