100% ローカル — データがブラウザの外に出ることはありません

XMLミニファイア|意味はそのままに字下げの分だけ小さくする

XMLから字下げを取り除きます。テキストの空白、属性値、コメント、宣言はそのまま残るので、文書は小さくなり、そこに書かれている意味のほうは少しも変わることがありません。

高速 プライベート Cookieゼロ

XML 入力

XML 出力

このツールの動作

字下げを取り除きます。取り除くのは字下げだけです。

<library>
  <book>
    <title>Dune</title>
  </book>
</library>

は <library><book><title>Dune</title></book></library> になります。

あえて残すもの

本文の中の空白。 <p>こんにちは <b>世界</b> また</p> はそのまま戻ります。XML ではこの空白は文字データであり、HTML のような折り畳みは存在しません。取り除けば語が互いにくっつきます。

属性値。 t=" keep " は書かれたままです。属性値の空白が正規化されるのは非 CDATA 型のときだけで、それを宣言できるのは DTD だけです。DTD がなければ空白はすべて有意です。

同じ行に並ぶ二要素の間の単独の空白。 <b>x</b> <i>y</i> の空白は残ります。無視してよいとは文書のどこにも書かれていません。

コメント、CDATA 区間、前書き。 宣言はあなたが書いたバージョン・符号化・standalone のまま戻り、DOCTYPE も残り、<?xml-stylesheet?> もあった場所に残ります。

xml:space="preserve" が付いた要素では、以上の処理をすべて停止します。

何を字下げとみなすか

完全に空白であり、改行を含み、意味のあるテキストを持たない要素の中にあるテキストノード。定義はこれだけで、意図して狭くしてあります。ここに入らないものは、反証がない限り内容です。

どれくらい小さくなるか

期待ほどではありません。そう言うほうが、期待させたままにするより誠実です。字下げは通常 XML 文書の数パーセントにすぎません。大半はタグそのもので、それを縮めるのは文書を変えることです。

目的が転送量なら、圧縮のほうがはるかに有効です。タグ名の繰り返しは、どんな最小化でも取り除けませんが、gzip はそれを見つけます。最小化は、保存したり埋め込んだりするファイルのために使ってください。回線のためではありません。

プライバシー

すべての処理はブラウザ内のJavaScriptだけで完結します。データがアップロードされることはないため、機密情報でも安心して利用でき、オフラインでも動作します。

よくある質問

なぜ出力がほとんど小さくならないのですか。
XML の最小化は字下げを取り除くことで、それ以上はほとんどないからです。名前を縮めず、引用符を落とさず、本文の空白も畳みません。どれも文書を変えてしまいます。XML を HTTP で配信するなら、gzip や brotli のほうがはるかに多くを削り、しかも内容に触れません。
なぜ <b/> が <b></b> になったのですか。
XML ではこの二つは同一で、長いほうが安全な方向だからです。XHTML の文書がブラウザに HTML として配信されると、自己閉鎖の `<div/>` で壊れます。ブラウザはそれを開始タグと読み、以降のページを飲み込んでしまいます。二文字はそれを避ける安い代価です。
コメントは削除されますか。
されません。XML 文書のコメントはライセンス表示、スキーマの注記、次の読み手への指示であることが多く、そのどれなのかは文書からは分かりません。削除するのはこのツールの下せる判断ではありません。不要なものは最小化の前に消してください。

関連ツール