I have built my model of MusicXML from the XSD (3.0) specification, but I see here
http://www.musicxml.com/for-developers/musicxml-xsd/
that XSD is stricter than DTD. I have also noticed that many MusicXML documents specify DTD validation in their DOCTYPE statements.
This is a concern as I am now working on import. Are the differences between DTD and XSD validation documented? Specifically, is there some list of those constructs which would be valid in DTD but invalid in XSD?
If not, does anyone have some experience with deriving this information from the specification?
Michael, in a much early question viewtopic.php?f=12&t=2692&p=8878&hilit=xsd#p8878
you suggested that an application should support both. In my case I am not actually going to use the dtd or xsd for validation because my data-model is so tightly bound to the xsd that it can only hold data that would validate against the xsd.
Thus I plan to use a non-validating parser and throw or message when I encounter items that don't match my data model.
However I would like to handle cases gracefully where the writing application used the dtd specification and I should do some manipulation to fit it into the xsd-valid structure.
Thanks!
Matt