ぷりちぃぷりんと XML from the command line?

ぐぐればいちぱつなネタをな、こうして書くことの意味よ。

XML なんか嫌いだとずっと言い続けている通りで、出来れば避けたいと行動し、幸いほとんど避けれているので、こういう日常ネタを案外知らない。けれど、それでも Java に毒されればセットで XML もくっついてきがちで。しょうがないよね。

見出しの通りなのだけれど、ある XML ビルダがかなりスタイルに無頓着で、剥き身で読む XML としてつらいので、そのビルダの外で整形したくなったが、その良き術を知らなかったので調べた、てハナシ。もちろんこの質問と回答はすぐに見つかる→How to pretty print XML from the command line?。libxml2 にある xmllint が整形に使える、なんて、知らなきゃ知らないことだ、盲点。libxml2 なんぞ、かなりの確率で手持ちだからな。(ただし、Debian/Ubuntu 系などの linux distro では、同梱ツール類は分けてあって、当該の xmllint を使うには libxml2-utils を別途インストール必要。)

xmllint のフォーマッタはすぐにわかる不満点はなかった。一方で、python 制の xmlformatter は、余計なことを大量にやらかしてしまって使いにくかった。実はこちらを先に試して困っていた。xmlformatter は text ノードをガンガン書き換えてしまうし、アトリビュートの順番も並べ替えてしまうしで、ワタシのニーズには全然合わなかった。