Builder::XmlMarkup を使用して、RESTful API サーバー用の XML 形式のデータ構造を生成しています。
最近、Builder::XmlMarkup からのプリティ プリンティングが、本来あるべき空の要素ではなく、空白文字でいっぱいの要素を生成するというバグを発見しました。
たとえば、次のコード:
xml.outertag do
xml.list do
# Some code which loops through a list
end
end
生産しています:
<outertag>
<list>
</list>
</outertag>
内側のリストが空のリストの場合、要素は空でなければなりません (例: <list/> または <list></list>)。ただし、実際の XML は、改行とその他の空白で満たされた <list> タグです。
では、Builder のきれいな印刷を完全になくすにはどうすればよいでしょうか? 現在、初期化が:indentパラメータを無視するように、Builder::XmlMarkup にモンキー パッチを適用することを考えています。after_filter も検討していますが。