> My experience is, the
> design should be as small and easy to understand as possible
> to achieve this goal.
My experience is that a design with few restrictions (that is, maximum
orthogonality) is usually much smaller and easier to understand than a
design with many restrictions.
>
> IMHO the namespace design in XML is too powerful and therefore too
> complex. This means too hard to understand, too many errors
> when using
> it, too hard to implement. Namespaces are nothing new. Why are the
> namespaces in XML more powerful as their counterparts in the
> programming
> languages? There must be more than 'why not'.
Namespaces in XML are certainly a pain in the neck, few people nowadays
dispute that. But I don't think you can equate them to the way namespaces
are used in programming languages, because the naming architecture of XML is
completely different (for example, there is no concept of information
hiding). But I don't see where you are getting your analogies from. There is
no restriction in Java, for example, that the type of a method must be
related in any way to the name of the method. Method names and types in Java
are completely orthogonal, and it seems entirely reasonable that element
names and types in XML should also be orthogonal.
Michael Kay