
William Lee wrote:
I agreed that Qname type can be used, however, it's been a controversial type to use throughout the history of XSD, because interpretation of a QName value needs contextual information (the enclosing elements and their xmlns declaration).
<jsdl:JobDefinition ...> ... <jsdl:CPUArchitecture>myns:sparc</jsdl:CPUArchitecture> ... </jsdl:JobDefinition>
For the parser, it needs to resolve the "myns" namespace prefix from the enclosing elements in order to deduce whether it's in the jsdl namespace or others.
That's why I wanted it. :^) The aim is to make those extensible enumerations where people can add their own elements but must do so in a way that won't tread on where we might wish to put our toes in future. The other sensible way of doing this is the informal technique used in specifications like CIM, where you just have a common prefix to all the values that you define. But if you're doing that, you might as well formalize it in terms of common XML rules. In terms of parsing, I think both SAX and DOM have support for making this sort of processing easy...? Donal.