Oracle XML Schema Processor for Java on UNIX:
http://technet.oracle.com/tech/xml/schema_java/
[barkati@ceres sample]$ java XSDSample MusiXML.xsd
Parsing MusiXML.xsd
The input file <MusiXML.xsd> parsed without errors
Perl programs and libraries for processing SGML DTDs and documents:
http://www.nacs.uci.edu/indiv/ehood/perlSGML.html
[barkati@ceres MusicXML]$ perl ~/XML/perlSGML.1997Sep18/dtd2html note.dtd
A perl converter from DTD to HTML:
http://www.sagehill.net/livedtd/
[barkati@kindi MusicXML]$ perl ~/XML/livedtd/livedtd.pl score.dtd
Parsing DTD files ...
Unresolved parameter entity %partwise; in %partwise;
You have been added to xmlsoftware@listbot.com.
You have been added to our mailing list info@recordare.com.
attributes.dtd | clefs, armures, transpositions | attributes |
barline.dtd | barres de mesure | barline |
common.dtd | éléments partagés | dynamics
fermata footnote level segno staff track wavy-line |
direction.dtd | éléments musicaux n'étant pas attachés à une note | direction
harmony sound |
identity.dtd | métadonnées, identification | ENCODING-DATE
identification |
link.dtd | entité pour XLink | / |
note.dtd | notes, petites notes, éléments sans hauteur; accord, silences | backup
figured-bass forward note |
opus.dtd | collection de partitions MusicXML | opus |
partwise.dtd | appelle toutes les entités extérieures sauf timewise | / |
score.dtd | oeuvre, mouvements, ensemble de mesures ou de parts | score-partwise
score-timewise |
timewise.dtd | appelle toutes les entités extérieures sauf partwise | / |
Cette description contient les coordonnées graphiques, mais elles
ne sont pas obligatoires, de même que les informations sonores. Le
fait qu'elle ne s'appuie pas sur un Schema ne semble pas un obstacle, puisque
de nombreux outils (API et logiciels) supportent les DTD, et que les schemas
n'ont pas encore été adoptés par le W3C. Une analyse
plus profonde de MusicXML est nécessaire. Ce format décrit
très précisément l'aspect sémantique, mais
aussi contient des champs superflus pour l'utilisation escomptée.
Il semble possible de l'utiliser en ignorant ces champs pour appliquer
des feuilles de styles, mais il est aussi envisageable d'élaborer
un format plus court à partir de celui-ci. Une position devrait
être rapidement adoptée pour commencer la définition
des feuilles de style, puis le développement du moteur SVG.