mx icon indicating copy to clipboard operation
mx copied to clipboard

mx::core Support a newer version of MusicXML

Open webern opened this issue 5 years ago • 0 comments

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
  • [ ] 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::core for MusicXML 3.0 without too much breakage.
  • [ ] Use the program to generate mx::core for MusicXML 3.1 (or 3.2 or 4.0, https://github.com/w3c/musicxml/issues/314) without breakage.
  • [ ] Expose some new functionality from mx::core to mx:api.

webern avatar Feb 22 '20 23:02 webern