ライブラリ更新
第二引数に関数を渡してルート要素を操作できるように変更。ここでヘッダ情報を追加する。
特定の情報のみに対応した場合、他の情報を追加したい時、ライブラリ側の対応が必要になるので、
コールバック関数を渡す形式にして、自由に情報を追加できるようにした。
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 件のコメント:
コメントを投稿