I'm working on C++ databinding for MusicXML. I've noticed that "mode" is the only enumeration-like simpleType that is not a true enumeration. Why is this? Should values be restricted to those listed in the xs:documentation or should a parser allow any string as a "mode" value?
<xs:simpleType name="mode">
<xs:annotation>
<xs:documentation>The mode type is used to specify major/minor and other mode distinctions. Valid mode values include major, minor, dorian, phrygian, lydian, mixolydian, aeolian, ionian, locrian, and none.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string"/>
</xs:simpleType>