Take the sentence: "The correspondence between an element information item which is part of the XML representation of a schema and one or more schema components is presented in a tableau which illustrates the element information item(s) involved."
I think there is scope for suggesting that fundamental complexification of the XSD Structures spec flows out of 'XML representation of a schema'?
This adds an unnecessary dualism, where we have a specification actually for a concrete XML language being expressed as if the XML "representation" were an embarrassing and extraneous side-issues, a mapping whose elegance matters little. So everything gets two names (the names in the markup and the name for the concept.)
Imagine if a specification for a maths language was written like this:
"MULTIPLY: The Multiply Function takes two arguments, the Multiplier and the Multiplicand. The correspondence between the these and of the Multiply Function in the Text Representation of a Math Expression, the Multiplier argument in the Text Representation of a Math Expression, and the Multiplicand argument in the Text Resentation of a Math Expression, is presented in a table.
....
Multiply function * (infix)
Multiplier (preceding term in text representatiom)
Multiplicand (following term in text representation) "
Rather than the bald:
"MULTIPLY: The infix operator * is the multiply function."
I am not saying the second is good or great, merely that when reading pages of material like the first and wielding Ockham's Razor, we want to slash our wrists. Entities seem to have been multiplied. And by dropping the discipline of keeping the language 1:1 with its abstraction (so we cannot just use the language's names and avoid the abstraction names for the benefit of concreteness), we can end up convincing ourselves that having this separation between abstract schema and representation was actually necessitated.
Cheers
Rick