ライブラリ更新
第二引数に関数を渡してルート要素を操作できるように変更。ここでヘッダ情報を追加する。
特定の情報のみに対応した場合、他の情報を追加したい時、ライブラリ側の対応が必要になるので、
コールバック関数を渡す形式にして、自由に情報を追加できるようにした。
var addHeaderCallback = function(root) { // ヘッダ情報のコンテナとなる identification要素を作成 var identification = LibMusicXML.createIdentificationElement(); // エンコーディングに関する情報 var encoding = LibMusicXML.createEncodingElement({ encoder: "", software: "", description: "", }); // 独自情報を追記 var misc = LibMusicXML.createMiscElement({ "rm-version": "1.02", "rm-firstkey": "C", "rm-lastkey": "Cm", }); // 各要素を親へ追加する identification.addContent(encoding); identification.addContent(misc); root.addContent(0, identification); // 題名と作業番号 root.addContent(0, LibMusicXML.createWorkElement("TITLE", "1"); }; var xml = LibMusicXML.toMusicXML(LibMusicXML._flatten(rows), addHeaderCallback);
identification 要素へ追記するメタ情報としては、他に、"source", "rights", "relation" 等が有り、
Dublin Core を参考にしている。
参考サイト: Dublin Core: メタデータを記述するボキャブラリ
関数名が長いけど補完が効くので、識別子の部分を短くすれば、キータイプ量は減らせます。
0 件のコメント:
コメントを投稿