mx
mx copied to clipboard
mx::core Support a newer version of MusicXML
We are stuck on MusicXML 3.0 because it’s a big job to upgrade to 3.1 (or whichever version is out when we get to it).
Do this without breaking mx::api
- [x] Create a program that parses the XSD. (In Progress)
- [x] parse
xs:annotation - [x] parse
xs:attribute - [x] parse
xs:attributeGroup - [x] parse
xs:choice - [x] parse
xs:complexContent - [x] parse
xs:complexType - [x] parse
xs:documentation - [x] parse
xs:element - [x] parse
xs:enumeration - [x] parse
xs:extension - [x] parse
xs:group - [x] parse
xs:import - [x] parse
xs:maxInclusive - [x] parse
xs:minExclusive - [x] parse
xs:minInclusive - [x] parse
xs:pattern - [x] parse
xs:restriction - [x] parse
xs:schema - [x] parse
xs:sequence - [x] parse
xs:simpleContent - [x] parse
xs:simpleType - [x] parse
xs:union
- [x] parse
- [ ] Create a program that flattens and links the XSD.
- [x] Create a program that converts the XSD into programming friendly types (Class, Enum, etc).
- [x] Regenerate Enums
- [ ] Regenerate other SimpleTypes
- [x] Regenerate unions
- [ ] Check for changes to custom simple types during generating.
- [ ] Regenerate Attributes
- [ ] Regenerate Choices
- [ ] Regenerate Groups
- [ ] Regenerate Elements
- [ ] Create a program that re-generates
mx::corefor MusicXML 3.0 without too much breakage. - [ ] Use the program to generate
mx::corefor MusicXML 3.1 (or 3.2 or 4.0, https://github.com/w3c/musicxml/issues/314) without breakage. - [ ] Expose some new functionality from
mx::coretomx:api.