Hi Mukul,
The XML namespace is
http://www.w3.org/XML/1998/namespace
------------------^^^
and not
http://www.w3.org/xml/1998/namespace
------------------^^^
This should answer your first question.
Best Regards,
George
---------------------------------------------------------------------
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com
Mukul Gandhi wrote:
Thanks Mike for the clarification. I have 2 more questions..
1st question:
You earlier gave suggestion, that comparing the namespace-uri()
instead of name() will make the stylesheet (George's code) compatible
with both Saxon and MSXML. (for supressing the namespace
xmlns:xml="http://www.w3.org/xml/1998/namespace" in output)
The relevant portion of code is (please see the code that George posted):
<xsl:for-each select="current()//namespace::*[not(.=$currentNamepsace)
and not(name()='xml')]">
<xsl:attribute name="{translate(name(), $small,
$caps)}:dummy{position()}" namespace="{translate(., $small,
$caps)}"></xsl:attribute>
</xsl:for-each>
I changed this to:
<xsl:for-each
select="current()//namespace::*[not(starts-with(.,'http://www.w3.org'))]">
<xsl:attribute name="{translate(name(), $small,
$caps)}:dummy{position()}" namespace="{translate(., $small,
$caps)}"></xsl:attribute>
</xsl:for-each>
This works..
But following doesn't work (the namespace
http://www.w3.org/xml/1998/namespace is getting generated in the
output):
<xsl:for-each select="current()//namespace::*[not(. =
'http://www.w3.org/xml/1998/namespace')]">
(Please note the namespace uri comparison I am doing). What is wrong
with the string comparison here?
I am using Saxon 8.7.3.
2nd question:
Why at all the namespace, http://www.w3.org/xml/1998/namespace is part
of node-set namespace::*. I am not sure, but does it relate to the XML
Namespaces spec? (you hinted this in your previous answers)
Regards,
Mukul
On 7/8/06, Michael Kay <mike(_at_)saxonica(_dot_)com> wrote:
> Can you please clarify whether this is a bug with Xalan-J 2.7.0:
>
> This instruction is not generating the namespaces in the
> output <xsl:copy-of select="current()//namespace::*" />
>
It looks like a non-conformance to me: Erratum E25 at
http://www.w3.org/1999/11/REC-xslt-19991116-errata/ specifies the
behaviour
of xsl:copy and xsl:copy-of when applied to namespace nodes.
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>
--~--