Although I believe the XML Schema specification is notably silent on
the following
issue, I believe that the XMLEditor product should handle this
differently.
Suppose we have a substitution group amongst three schema target
namespaces
A, B, C with the following properties:
1. Schema 'A' is the top schema for the document.
2. Schema 'A' uses schema 'B' and 'C' directly via import statements.
3. Schema 'B' uses 'C' directly via an import statement.
4. Schema 'C' knows nothing of 'A' or 'B'.
5. Schema 'C' defines some kind of fundamental element as abstract
and
intends others to use substitution to associate actual elements.
6. Schema defines a container type that uses this abstract element.
It also
defines an element 'C-container' associated with that type.
7. Schema 'B' participates in the same substitution structure by
adding its
element 'custom' to the mix.
8. Schema 'A' defines an element 'A-container' associated with C's
container
type in (6).
Now, in the current version (2.4), if you go to insert an element in
'A-container'
you will see 'custom' listed. If you go to insert an element in
'C-container', you
will not see 'custom' listed.
I can fix this by importing schema B in schema C--which breaks my model
for who knows
whom. It seems to me that the concept of substitution group--which
transcends individual
schemas--should be consistent within the editor.
While the current behavior is understandable, I don't think it is
necessarily correct and
it certain stands in the way of developing "mix-in" vocabularies.
Alex Milowski FAX: (707) 598-7649
alex at milowski.com
"The excellence of grammar as a guide is proportional to the paucity of
the
inflexions, i.e. to the degree of analysis effected by the language
considered."
Bertrand Russell in a footnote of Principles of Mathematics