Converts musicxml xml text to the intermediate mxObjects format.
Represent a MusicXML document, importing and writing
Document methods
title may be stored in more than one place
Load MusicXML from a string, instead of from a file.
Basic display for testing
The SAX handler reads the MusicXML file and builds a corresponding MusicXMLElement object structure.
this is the main conversion handler for musicxml to mxObjects
Handler methods
Because each _Handler sub-class defines its own _tags, and because each Tag knows whether it is to receive character data or not, this method can be found in the base-class and need not be defined for each sub-class.
This handler method builds up the nested MusicXMLElement objects. For simple entities, the charData or attributes might be assigned directly to the attribute of another MusicXMLElement. In other cases, the MusicXMLElement object stored (in the _mxObjs dict) is assigned to another MusicXMLElement.
After assigning the MusicXMLElement to wherever it resides, the storage location (the _mxObjs dict) must be set to None.
A locator object can be used to get line numbers from the XML document.
This handler method, in general, simply creates the appropriate MusicXMLElement object and stores it (in the _mxObjs dict). Attributes are loaded if necessary. For a few entities (note, measure) addtional special handling is necessary.