[Bug 29231] [XT30] tests import-0001 and import-0002

https://www.w3.org/Bugs/Public/show_bug.cgi?id=29231

--- Comment #3 from Abel Braaksma <abel.braaksma@xs4all.nl> ---
> I would like to study this further before agreeing that the test case is wrong.

Ok, thanks for holding it off, I will wait with submitting proposed changes
(or, alternatively, both outcomes can be accepted).

So it boils down to:

<xsl:template match="/">
   <a>
      <ns:b xmlns:ns="urn:other" />
   </a>
</xsl:template>

whether this can be serialized after ns fixup to:

<a xmlns:ns="urn:other">
    <ns:b />
</a>

or that it must keep the namespace node "connected" to the <b> element. I think
that:

1) if the namespace is declared before a certain LRE, it effectively becomes a
namespace node on all descending elements (barring namespace redeclarations).

2) if the namespace node is declared only on the element itself, the namespace
node springs into existence there and should not appear on ancestors as well.

3) if the namespace is an alias, the rules should apply (should apply?) to the
alias, and be changed in-situ with the other namespace it is aliasing. That is
to say, the namespace being aliased (here the XSL namespace) is *not*
automatically in scope on the ancestors.

4) possibly, namespace fixup may bring the declaration closer to its use, if
that doesn't invalidate required earlier namespace nodes.


------
Back to this case: On reconsideration, I think both outcomes are possible,
because the f-namespace is declared as an ancestor of the LRE root, yet is only
used in one place (but I have to admit I have always found the namespace fixup
process rather fuzzy).

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Thursday, 22 October 2015 21:21:47 UTC