MakeMusic
SmartMusic Finale Garritan MusicXML

The "mode" simple type

Moderator: Michael Good

The "mode" simple type

Postby Matthew.James.Briggs » Fri Jul 04, 2014 7:59 pm

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>
“Now that things are so simple, there's so much to do.” - Morton Feldman
http://matthewjamesbriggs.com
User avatar
Matthew.James.Briggs
 
Posts: 23
Joined: May, 2014
Location: Seattle, WA, USA
Reputation: 0
Software Owned:
Max OS X, Finale, Logic Pro, XCode, Xmplify, Sublime Text

Re: The "mode" simple type

Postby Michael Good » Tue Jul 08, 2014 4:59 pm

Hi Matthew,

It has been a while since this design decision was made. I suspect the reasoning was to keep allowing more flexible mode definitions. For MusicXML V3, the values should not be restricted, and if you use a validator with either the DTD or XSD this should be the default behavior. A typical behavior is to treat modes that are not understood as major (or unknown, if your system supports that). This is something we could revisit in the future if needed.
Michael Good
VP of MusicXML Technologies
MakeMusic, Inc.
User avatar
Michael Good
 
Posts: 2197
Joined: March, 2014
Reputation: 0

Who is online

Users browsing this forum: No registered users and 2 guests

cron