XmlServiceの簡易ラッパー
書いてみた。以下は、MusicXMLチュートリアルの Hello, World!を記述した例
Project key: ME6vSmFQZ_s_2Mvpt0A6O_35chaeZMmGx
var EL = XMLBuilder.EL; // 頻繁に呼び出す関数なので、エイリアスを作っておく。
var root = EL("score-partwise", {version:"3.0"}).add(
EL("part-list").add(
EL("score-part", {id:"P1"}).add(
EL("part-name").text("Music"))).add(
EL("part", {id:"P1"}).add(
EL("measure", {number:"1"}).add(
EL("attributes").add(
EL("divisions").text("1"),
EL("key").add(
EL("fifths").text("0")),
EL("time").add(
EL("beats").text("4"),
EL("beat-type").text("4")),
EL("clef").add(
EL("sign").text("G"),
EL("line").text("2"))),
EL("note").add(
EL("pitch").add(
EL("step").text("C"),
EL("octave").text("4")))))));
var docType = XMLBuilder.DocType(
"score-partwise",
"-//Recordare//DTD MusicXML 3.0 Partwise//EN",
"http://www.musicxml.org/dtds/partwise.dtd");
Logger.log(XMLBuilder.Doc(docType, root).toText());
編集のポイント
- 要素を生成 EL(要素名, 属性)
- 子要素を追加 .add(改行 インデントは、スクリプト・エディタ任せ
- テキストを設定 .text(テキスト)
数値は、暗黙的な型変換を避けるために文字列で渡す。※少数を渡す場合注意 - 要素を閉じる ) エディタが対応する開始括弧をハイライトしてくれるので、任意の位置まで閉じる。
0 件のコメント:
コメントを投稿