Verbosity, Inflexibility & Intuitiveness

Thank you for the opportunity to comment:

The facilities provided by XML Schema easily satisfy all my needs, but then 
I am not yet an advanced XML Schema user, and have stuck with DTDs for a 
long time because they are so well supported. What I feel could be greatly 
improved about XML Schema though, is the actual syntax.

I could provide you a long list of specific examples, but I think that all 
the quibles I have with the it boil down to the fact that it is too 
verbose, syntactically too inflexible, and uses names that are not always 
intuitive. It is as though the language was designed by creating a schema 
that was as easy possible to create, and then making the XML fit around it, 
rather than the other way around. Here are some examples which highlight this:

<xs:element name="foo">
   <xs:complexType>
     <xs:complexContent>
       <xs:extension base="bar">
         <xs:attribute ref="foobar"/>
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
</xs:element>

would be much better represented as:

<xs:element name="foo">
   <xs:extension base="bar">
     <xs:attribute ref="foobar"/>
   </xs:extension>
</xs:element>

and:

<xs:element name="foo">
   <xs:complexType>
     <xs:attribute ref="foobar"/>
   </xs:complexType>
</xs:element>

could easily be:

<xs:element name="foo">
   <xs:attribute ref="foobar"/>
</xs:element>

and why should this be an error, I prefer to define my attributes first:

<xs:element name="foo">
   <xs:attribute ref="foobar"/>
   <xs:all>
     <xs:element name="bar"/>
   </xs:all>
</xs:element>

then there are non-sensical things, like having to name stuff you don't 
reference

<xs:unique name="foo">
   <xs:selector xpath="bar"/>
   <xs:field xpath="@foobar"/>
</xs:unique>

and while we on the subject of unique, shouldn't 'selector' be called 
'scope', since that is what it does.

There are a number of non-intuitive names used elsewhere too. For example, 
'sequence' and 'choice' make sense, but 'all' does not. Should this not be 
'set', or something suggesting a lack of order, since all suggests that all 
the contents must appear, which is not the case.

Thanks for listening, Dominic Chambers.

Received on Tuesday, 29 October 2002 15:35:31 UTC