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 件のコメント:
コメントを投稿