I think I've located the problem. Sec 4.2 says:
[[
Components in directly imported descriptions are part of the component
model of the importing description.
]]
In the A-imports-B-imports-C example, if I'm determining what components
A imports from B, "the importing description" in the above sentence
would be A and the "directly imported descriptions" of A would be {B}.
Substituting these into the sentence above yields:
[[
Components in {B} are part of the component model of the A.
]]
which is *not* what we want, since the components in B clearly include
components that originated from C (which would thus make import
transitive), whereas we only want those components in B that
*originated* from B (i.e., non-transitive).
I think 4.2 needs to be changed to say something like:
[[
Each component in the {interfaces}, {bindings} or {service} property of
the imported document is added to the {interfaces}, {bindings} or
{service} property of the importing document (respectively), if and only
if the namespace part of the {name} property of that component is
identical to the value of the namespace attribute information item of
the import element information item. In other words, only those
components that are "in the namespace" that was specified in the
namespace attribute information item of the import element information
item are imported.
]]
The editors may be able to come up with a simpler (but still accurate)
way of expressing that, but I think it captures the intended effect, of
causing import be non-transitive.
--
David Booth
W3C Fellow / Hewlett-Packard