As per our earlier discussion on this list, the current plan is that standard MusicXML 3.0 sounds for the instrument-sound element will be defined in an external file, rather than directly in the DTD / XSD. For MusicXML 3.0 there will be hundreds of instruments in this taxonomy.
How should this be represented? My initial thought is for a simple XML file that could be extended to support mappings back and forth between MusicXML IDs and IDs in other program.
We could have a top-level sounds element that contains a sequence of sound elements. Each sound element would have an id attribute that is an XML ID type. This would represent the MusicXML ID. There would be optional string content for the element that would represent the ID in another program.
We haven't yet decided on how we will mold the Sibelius and capella proposals together, so for this example I will use an ID that matches neither one. The standard MusicXML file might look something like this:
<sounds>
<sound id="brass.trumpet"/>
<sound id="brass.trumpet.piccolo"/>
</sounds>
A modified version that maps to Sibelius IDs would look like this:
<sounds>
<sound id="brass.trumpet">brass.trumpets.trumpet</sound>
<sound id="brass.trumpet.piccolo">brass.trumpets.piccolo</sound>
</sounds>
A modified version that maps to capella IDs would look like this:
<sounds>
<sound id="brass.trumpet">wind.brass.trumpets.trumpet</sound>
<sound id="brass.trumpet.piccolo">wind.brass.trumpets.trumpet.piccolo</sound>
</sounds>
Please let me know your thoughts on this proposal.
Best regards,
Michael Good Recordare LLC