Thank you for explaining. Now I understand.


My mistake was I drew the wrong conclusion from the Type Hierarchy diagram: There is a line from xs:QName to xs:string on the diagram, which I was incorrect in thinking was xs:QName -> xs:string. In reality it is of course two lines merging that represent xs:QName -> xs:anyAtomicType, and xs:string -> xs:anyAtomicType.


IMHO the edges of the graph on the diagram should state their direction. UML has the transparent arrow head symbol to represent the direction for this relationship. Something similar here would be a good idea.