XMLツール

XMLエスケープ本文か属性かを選んで

文字列の挿入先に合わせて、本文または属性値を選びます。

XMLエスケープ

入力

結果

変換はこのブラウザー内で行い、入力内容は送信しません。

変換オプション

挿入先は符号化だけに適用します。区切りは保持され、復元した改行は値の一部です。JSONレポートでレコード境界を保存できます。

入力≤1,048,576、出力≤6,291,456、レポート≤16,777,216 UTF-16単位。一括≤10,000件。

38→48単位・3か所変換・1件

XMLエスケープは、印字データや設定値に含まれる&や山括弧を安全な表記にするために使います。属性の区切りに使う引用符と、本文にそのまま書ける引用符を区別できます。

XMLアンエスケープは参照を1層だけ戻します。タグを解析する処理ではなく、DTDを読み込むこともありません。戻した文字列が文書として正しいとは限りません。

XMLエスケープで確認できること

属性の空白を文字として残す

XMLエスケープはCRを数値文字参照にします。属性ではTAB、LFと選択した引用符も保護し、通常のCDATA型属性に挿入したときの値を保ちます。

同じ引用符付きの値が本文と属性の経路に分かれ、属性側だけで対応する引用符が保護される図。

改行とレコードを混同しない

数値文字参照を戻すと、1件の値に新しい改行が入ることがあります。JSONレポートは入力・出力・元の区切りをレコードごとに保存します。

独立した2枚のレコードカードを保ちながら、最初のカード内だけに復元された改行が増える図。

挿入先と実行タイミングを合わせる

01

囲む引用符を選ぶ

本文では引用符を保持します。属性では外側で使う単一・二重引用符の片方だけを選びます。外側の引用符やタグそのものは生成しません。

02

自動変換を切り替える

編集後350msで実行します。自動を切ると変換ボタンが表示され、Ctrl/Cmd+Enterも使えます。入力や設定を変えた直後は古い結果をコピーできません。

03

置換前に内容を確認する

サンプルとクリアは変更前後の文字数とプレビューを表示します。適用後は入力と結果を一度取り消せます。長い結果は20,000単位ずつ表示を増やせます。

参照を読み分けて問題を探す

定義済みの5つの名前

XMLエスケープで扱うXMLエンティティはamp、lt、gt、quot、aposです。大文字小文字を区別し、末尾のセミコロンを省略できません。

10進数と16進数の参照

AもAもAに戻ります。16進数の接頭辞は小文字のxに限定しますが、桁のA〜Fは大小どちらでも使えます。日本語や絵文字を一律にASCII化する機能はありません。

元の行と列に戻る

不正な文字や参照は元の行番号とUTF-16単位の列番号で示します。禁止文字を数字で書いても有効にはなりません。失敗した処理の一部を結果として渡しません。

文字列処理の範囲と上限

文書検証は行わない
XMLエスケープはタグの対応、属性の構文、要素名、スキーマを検証しません。解除時の生の山括弧や引用符はそのまま残し、参照だけを確認します。
1層のみ、名前は厳密
<は1回で<になります。 などのHTML名、独自DTD実体、単独の&、不完全な参照はエラーです。再帰的な解除や外部実体の読み込みは行いません。
XML 1.0の文字範囲
NUL、禁止制御文字、孤立サロゲート、U+FFFE/U+FFFFを拒否します。数値参照でも同じです。U+1FFFEなど、補助平面の標準上有効な文字は保持します。
空白を正規化しない
本文のCR、属性のTAB/LF/CRは符号化時に保護します。解除時の元の空白は変更しません。属性値の保持は通常のCDATA型が対象で、DTDのトークン化属性には同じ保証をしません。
一括処理の境界
元のCRLF、CR、LFで区切り、空行と末尾の空レコードも数えます。区切りはそのままです。
の復元で値内部に行が増えるため、TXTから境界を確定できません。JSONのrecords配列を使ってください。
容量超過は処理全体を中止
入力1,048,576、出力6,291,456、レポート16,777,216のUTF-16単位、一括10,000件が上限です。ファイル取込、URL取得、CDATA包装、全ASCII化、禁止文字の削除には対応しません。

XMLエスケープの質問

XMLとHTMLでは使えるエンティティが違いますか?

違います。HTMLの多くの名前はXMLに組み込まれていません。XMLエスケープでは5つの定義済み名だけを受け付け、不換行空白には有効な文字そのものか を使えます。

XMLの特殊文字を印字する方法は?

印字用XMLの文字データとして&や<を渡すなら、対応する参照にしてから挿入します。属性に渡す場合は引用符と空白の扱いも合わせます。本ページはプリンターへの送信を行いません。

特殊文字を含むデータをまとめて処理できますか?

行単位の一括処理を有効にできます。1行が1レコードで、空行も残ります。解除によって値の中に改行が増える場合は、レコードの区切りを保持するJSONレポートで確認してください。

CDATAを使うのはどんな場合ですか?

山括弧の多い本文に向いている場合がありますが、属性内には使えず、終了記号]]>を含められません。本ページはCDATAの包装を生成しません。

不正なエンティティがあるとパーサーはどうなりますか?

XMLパーサーは不正な参照や未宣言実体をエラーとして扱います。この解除機能も参照の誤りで停止しますが、成功しても文書全体の検証を済ませたことにはなりません。

予期しない結果が出ましたか?

実際の値で比較する

XMLエスケープで&、引用符、改行を含む値を試し、本文と属性の結果を見比べてください。