- From: <bugzilla@jessica.w3.org>
- Date: Wed, 26 Mar 2014 22:24:04 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=25149 Michael Kay <mike@saxonica.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mike@saxonica.com --- Comment #2 from Michael Kay <mike@saxonica.com> --- I think your rewrite is correct, but can be simplified: the copy-namespace=nodes template can be written <xsl:template name="copy-namespace-nodes"> <xsl:copy-of select="namespace::* [not(. = ('http://www.w3.org/1999/xhtml', 'http://www.w3.org/2000/svg', 'http://www.w3.org/1998/Math/MathML'))]"/> </xsl:template> My only other reservation is whether the existing code is precisely equivalent to the prose. The prose says: Any namespace node for any of those three namespaces that was previously present on any element node in the instance of the data model is also removed, unless the prefix that that namespace node declared is used as the prefix on the name of an attribute on that element or an ancestor of that element. Firstly, the prose is ambiguous: does the last phrase mean "the name of an ancestor of that element" or "the name of an attribute on an ancestor of that element". I think it must be the latter. Secondly, there seems to be no code to implement this final provision. Given <a svg:x="1" xmlns:svg="http://www.w3...."> <b> </a> the prose says that <b> will have a namespace node for the svg namespace, but the code says that it will not. This only makes a difference, of course, if the resulting tree is serialized with xml-version="1.1", where if we believe the code, there will be a namespace undeclaration on <b>, but if we believe the prose, there will not. So I'm sympathetic to the idea of making the code non-normative, especially if the above-mentioned ambiguity in the prose is corrected. -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Wednesday, 26 March 2014 22:24:06 UTC