xs:include changing targetNamespace

Questions about xs:include where the including schema document has a
targetNamespace and the included document does not:

In 4.2.1, Schema Representation Constraint: Inclusion Constraints and
Semantics, rune 3.2.1, [Part 1, PER of 2004-03-18] there is apparently a
typo: "whose code was qualified" should presumably be "whose form was
qualified".

The implication is that the absent namespace should only be replaced by the
target namespace in places where the target namespace would have been used.
This would imply that <xs:element ref="A"/> (assuming there is no default
namespace) is still to be interpreted as a reference to A in the
absent-namespace, not a reference to A in the (new) target namespace, and
that ##local in a wildcard still refers to the absent namespace, not the
(new) target namespace. Correct? (And if so, is this actually usable?)

Is it true that the effect of including a schema document with no target
namespace into a schema document with target namespace T is equivalent to
modifying the included document so that it says targetNamespace="T" before
processing it?
  

Michael Kay
http://www.saxonica.com/

Received on Monday, 4 October 2004 17:08:13 UTC