XMLエンティティ変換
XMLが予約する5つの文字を変換し、「Tom & Jerry <3」を「Tom & Jerry <3」にします。&、<、>、'、" は元の文字に戻し、未知の名前はすり抜けさせずに拒否します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- Tom & Jerry <3
- 計算モード
- Encode
- 結果
- Tom & Jerry <3
- エンコード
- xml_entities
- 入力の長さ
- 14
- 出力の長さ
- 21
このXMLエンティティエンコーダは、XMLがマークアップ構造のために予約している5つの特殊文字を定義済みの名前付きエンティティへ変換し、エンティティでエスケープされたテキストを通常の文字へ戻す際に同じ対応を逆に適用します。エンコードではアンパサンド、小なり、大なり、アポストロフィ、二重引用符を書き換え、要素内容と属性値がタグや区切りを壊さずに安全に保たれます。デコードでは &、<、>、'、" の5形式のみを受け付け、未知の名前、数値文字参照、不完全なエンティティ断片では明確に失敗するため、入力ミスが本番XMLへ静かに残ることはありません。経路は完全に決定的で、同じテキストとモードは常に同じ結果を返し、ネットワーク呼び出し・乱数ソルト・日付依存の近道はありません。簡単な確認例として Tom & Jerry を Tom & Jerry にエンコードし、<tag> を山括弧へ戻すデコードがあります。設定の衛生管理やコンテンツ整理にはブラウザで無料でお使いいただけます。
5つの定義済みXMLエンティティとは何か、このツールが返すもの
XMLは、適合するすべてのプロセッサがDTD宣言なしで認識しなければならない定義済み文字エンティティをちょうど5つ定めています。アンパサンドは文字参照またはエンティティ参照の開始になるため、テキストや属性内のリテラルなアンパサンドは、別の参照の開始ではなくグリフそのものを意図する場合 & と書く必要があります。
小なりと大なりはタグを開閉するため、それらをデータとして使いたいときは < と > になります。アポストロフィと二重引用符は属性値の区切りによく使われるため、同じスタイルの引用属性内に現れると ' と " になります。
本ページはエンコード経路でその古典的なエンコード集合を、デコード経路でその逆を実装し、書き換えられるのはこれら5つの名前付き形式のみです。一般的なHTMLエンティティツールと異なり、このランディングは や © など数百のHTML名を受け付けず、十進 &#N; や十六進 &#xH; の数値文字参照も展開しません。
この狭い契約は、完全なHTML名前テーブルではなく、XMLの定義済みエンティティに対する厳密な衛生管理を必要とする作者に適合します。未知の完全なエンティティを部分的に黙って飛ばすことはありません。
text と mode の読み取り方、結果が再現可能に保たれる仕組み
mode の既定は encode で、decode を明示的に受け付けます。別名 op、direction、action は同じ切替に対応し、escape と unescape も同義語として受け付けます。
エンコードは文字列を1文字ずつ走査し、5つの特殊文字だけを好ましいエンティティ形式へ置き換え、文字・数字・その他のUnicodeは変更せず、読みやすい文面を読みやすく保ちます。
アンパサンドも他の特殊文字と同じ左から右の一回通過で書き換えるため、すでにエスケープ済みの断片を誤って二度エンコードすることは、エンティティ文字列を再び encode に渡さない限り起きません。デコードは整形式の &name; 列を探します。文字で始まり、文字と数字からなり、セミコロンで終わる名前です。
' や ' のような数値形式も、本ツールが実装する5つの定義済み名前付きエンティティに含まれないため拒否します。セミコロンなしでエンティティ様の列を始めた不完全な断片も閉じて失敗します。
XMLエンティティのエンコード/デコードがマークアップ作業に収まる場所
フロントエンドとバックエンドのチームは、動的なタイトルやラベルを要素内容や引用属性へ入れる前にエンコードし、1つのアンパサンドや山括弧が周囲のマークアップを壊せないようにします。
パイプライン作者はレガシー系からのエンティティだらけのエクスポートをデコードし、アプリケーションコードがリテラルな & 列ではなく真の引用符とアンパサンドで動くようにします。
品質エンジニアは契約テスト用に決定的なエンコード/デコード対を生成し、XMLエンティティ対応を主張するミドルウェアがリリース間でHTML専用名や数値参照へ静かに切り替わらないようにします。教育者は、5つの定義済みXMLエンティティ、HTMLの名前付きエンティティ、一部のHTMLパーサがより緩く受け入れる数値文字参照の違いを教えるときに同じツールを使います。
このページでは作業はすべてブラウザ内で行われます。
活用例
XML要素・属性向けの安全なテキスト
タイトル、ラベル、ユーザ断片をエンコードし、アンパサンド・引用符・山括弧が整形式XMLのタグや属性を壊さないようにします。
レガシーフィードと設定の整理
エクスポートされたフィード、設定、データベース欄から5つの定義済みXMLエンティティをデコードし、現代の処理系向けに平文Unicodeへ戻します。
よくある質問
どの文字がエンコードされますか?
encode モードは &, <, >, ' と " を &、<、>、'、" に書き換えます。その他の文字は変更されません。
未知または数値のエンティティではどうなりますか?
受け付けるのは &、<、>、'、" のみで、HTML名や &#N; / &#xH; 形式は拒否されます。
結果は決定的ですか?
はい。 同じテキストとモードは常に同じ結果を返し、ネットワーク・乱数・日付依存の挙動はありません。
2回符号化すると &lt; になるのはなぜですか?
符号化では、すでに書かれたエンティティの先頭にある & も含めて、すべての & を書き換えるためです。変換済みの文字列をもう一度符号化すると < が &lt; になります。元の文字列は1回だけ符号化し、戻すときは復号を使ってください。
HTMLエンティティの変換ツールとはどう違いますか?
このツールはXMLが定める5つのエンティティだけを扱います。 や © のようなHTMLの名前は復号時に拒否し、' のような数値参照も展開しません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/xml-entities \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Tom & Jerry <3"}'const res = await fetch("https://api.kit.forhosting.com/enc/xml-entities", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Tom & Jerry <3"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/xml-entities",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Tom & Jerry <3"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/xml-entities", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Tom & Jerry <3"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Tom & Jerry <3"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/xml-entities", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Tom & Jerry <3"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.xml_entities",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
パイプラインで再現可能なXMLエンティティ変換が必要な場合は、成功リクエストあたり $0.002 のAPIをご利用ください。
5つの定義済みXMLエンティティとは何か、このツールが返すもの
JSON応答には常に変換後文字列の result、encode または decode を示す mode、xml_entities に固定された encoding、サイズ検証用の input_length と output_length が含まれます。エンコードは entities_encoded を、デコードは entities_decoded を報告し、何個の特殊文字または名前付き参照が書き換えられたかを確認できます。完全な &name; が5形式のいずれかでなければ、リクエストは invalid_input で失敗します。文書全体の検証、スキーマ検査、HTML名前付きエンティティ表が必要なら専用エンドポイントをご利用ください。このランディングは5エンティティのエスケープ/解除契約のみに答え、フィクスチャとAPI利用に適した安定出力を返します。
text と mode の読み取り方、結果が再現可能に保たれる仕組み
ペイロードの推奨フィールドは text で、別名として input、value、s、xml があるため、フォーム・クエリ文字列・SDKクライアントは列名を変えずに同じ契約を再利用できます。完全な参照を成さない裸のアンパサンドはそのまま残し、未完成の下書きを壊しませんが、 や ¬anentity; のような未知の完全名は、悪い参照を名指しするメッセージ付きで invalid_input を投げます。長さ上限の10万文字は Worker のメモリを予測可能に保ちつつ、テンプレート・サンプル文書・多くの貼り付けバッファをカバーします。このページの無料ブラウザ実行と有料APIを組み合わせれば、XMLエンティティ表を自ら再実装せずに自動化パイプライン内で同一の対応を得られます。無効入力は invalid_input を返し課金されません。検証は安価なまま、成功した変換は1件あたり $0.002 の固定料金です。
XMLエンティティのエンコード/デコードがマークアップ作業に収まる場所
開発者は、設定ファイル、SOAPやRESTのXMLペイロード、SVG属性、RSSおよびAtomフィード、厳密なXMLパーサの下で整形式でなければならない文書へユーザテキストを埋め込むときに、5つの定義済みXMLエンティティに出会います。API経由では成功した照会ごとに $0.002 がかかり、失敗した検証は課金されず、応答後に何も保存されません。無料の対話的探索と同一価格のAPIという分割は、KITのティアAカタログの他項目と一致し、教室デモから自動化パイプラインへ、エンコード結果を変えずに移れます。より広いマークアップ変換が必要なときは XML-to-JSON やHTMLエンティティの補助と組み合わせ、CIとドキュメント向けの無料・決定的なテキストツールの小さな実験室を組み立てるときは他のエンコード系エンドポイントと組み合わせてください。
連携の活用例
決定的なCIフィクスチャ
XMLを出力するサービス向けに、単体テスト・ゴールデンファイル・契約検査用の再現可能なエンコード/デコード対を生成します。
技術的な質問
XMLエンティティエンコーダの料金はいくらですか?
このページではブラウザで無料です。API経由では成功リクエストが $0.002 で、無効な入力は課金されません。
どのモードが使えますか?
mode=encode(既定)は5つの特殊文字をエンティティにします。mode=decode は5つの定義済み名前付きエンティティだけを文字へ戻します。