Creating a "General MusicXML" format using W3C XML Schemas
Dear xml-dev list members, Over the years, we have received many requests to make MusicXML (www.recordare.com/xml.html) easier to use from an application programming perspective. These requests have tended to fall into a few categories: 1) Use a more strongly-typed XML definition (e.g. W3C XML Schema or Relax NG) than DTDs. This would let XML validation perform many error checks that currently require custom code, as text elements get turned into enumeration elements. It would also make MusicXML work better with data binding frameworks, such as what ProxyMusic manually provides for Java using JAXB. 2) Remove some of the flexibility that is useful for supporting a very broad class of applications in order to make things easier for building common classes of applications. One example is the request that MusicXML require a voice element within the note and forward elements. Removing deprecated features would be another way to simplify development. 3) Improve the documentation and tool support for the MusicXML language, including providing a proper specification together with more complete tutorials, examples, and test suites. We have not addressed these requests in the past, in large part due to prioritization issues. Up until MusicXML 2.0, adding more features to the language has had much higher priority from our customers than these ease-of-development improvements. After all, if you cannot implement a feature that is crucial for your application, it does not much matter if implementing something else becomes incrementally easier. With the June 2007 release of Version 2.0, the MusicXML format has reached a level of maturity where it now makes sense to address these issues. I would like to get the xml-dev community's feedback on one approach to meeting these needs. We are considering building one or more "MusicXML profiles" that define MusicXML subsets for particular applications. This idea is inspired by past efforts, specifically the General MIDI profile based on the MIDI specification. General MIDI added more requirements to the base MIDI specification in order to provide a better, more consistent customer experience when using different MIDI products. Similarly, a "General MusicXML" format would add more requirements to the base MusicXML specification in order to provide a better, more consistent customer experience when using different MusicXML products. One problem that has kept us from addressing the strong typing and flexibility issues in the past is that they involve subsetting the MusicXML format. We have always wanted to have all valid MusicXML 1.0 files be valid MusicXML 2.0 files. Adding one or more profiles should allow us to have the best of both worlds. We can have a more rigorous specification to create more consistent and easier-to-develop applications within a particular domain, while keeping the full flexibility of the MusicXML DTDs for applications and data that need it. We would most likely use the W3C XML Schema format to define these profiles. This is due to its extensive software support, including pervasive parser support, comprehensive tool support, and integration into other XML technologies like JAXB and XQuery. This would be a big change for the MusicXML world. I would very much appreciate the advice of the XML experts on this list regarding this idea. Are there other examples of formats adding W3C XML Schema profiles to existing DTD-based formats? How has this worked? Are there case studies that we can refer to? What technical dangers should we look out for? What technical opportunities should we look to exploit? Thank you very much for any assistance you can offer regarding the idea of creating a "General MusicXML" profile using W3C XML Schemas. Best regards, Michael Good Recordare LLC www.recordare.com
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format