一連のXMLファイル(plists)にいくつかの単純な要素を追加しています。私が取り組んでいる既存のXML要素は次のようになります。
<dict>
<key>background</key>
<string>#FFFFFF</string>
<key>caret</key>
<string>#000000</string>
<key>foreground</key>
<string>#000000</string>
<key>invisibles</key>
<string>#BFBFBF</string>
<key>lineHighlight</key>
<string>#00000012</string>
<key>selection</key>
<string>#BAD6FD</string>
</dict>
この要素をというオブジェクトにキャプチャし、settings
新しい要素<key>
と<string>
要素を追加し、それらの要素にテキストを追加しています。これまでのところ十分に単純です:
settings.add_element('key').add_text('gutter')
settings.add_element('string').add_text('#282828')
問題は、これを書き戻すと、XMLが次のようになることです(最後の行に注意してください)。
<dict>
<key>background</key>
<string>#FFFFFF</string>
<key>caret</key>
<string>#000000</string>
<key>foreground</key>
<string>#000000</string>
<key>invisibles</key>
<string>#BFBFBF</string>
<key>lineHighlight</key>
<string>#00000012</string>
<key>selection</key>
<string>#BAD6FD</string>
<key>gutter</key><string>#282828</string></dict>
私はこのwrite (REXML::Document)
メソッドを使用してXMLを(現時点では$ stdoutに)書き出しています。
tmtheme.write( $stdout )
また試した
tmtheme.write( $stdout, 2 )
しかし、これらは望ましい結果を返しません。以下は有望に見えました:
tmtheme.write( $stdout, 2, true )
しかし、これは私に既知のエラーを与えます。更新:Ruby 1.9で試してみましたが、エラーは発生しませんが、役に立ちません。上記の例のように、フォーマットは取得できます。
ドキュメントの残りの部分のフォーマットスタイルに準拠するようにXMLをフォーマットする方法を教えてもらえますか?必ずしもREXMLで行う必要はありません。