日本語

開発者ツール · HTML エンティティ エスケープ

アンパサンドが HTML のエスケープ文字である理由: エンティティの SGML ルート

· 背景

html エンコード 履歴

アンパサンドが HTML のエスケープ文字である理由: ブラウザーセーフな文字参照図として示されるエンティティの SGML ルート
オリジナル ToolAcre ベクトル イラスト

HTML は、SGML からエンティティ参照、& 区切り文字、およびセミコロン終端文字を継承しました。この投稿では、SGML における「エンティティ」の意味、& が選択された理由、および HTML がほとんどの機構を削除しながら構文をどのように維持したかについて説明します。

まったく当てはまらない言葉 — 「エンティティ」という文字が奇妙な名前である理由と、その背後にある SGML の意味

まったく当てはまらない言葉 — 「エンティティ」という文字が奇妙な名前である理由と、その背後にある SGML の意味。この構文はより広範なドキュメント モデルの概念に基づいているため、エンティティという単語は 1 文字としては大きすぎるように聞こえます。現在の HTML 作業では、開発者は通常、文字参照のみに遭遇します。

sgml エンティティの参照履歴を検証するには、< がどこから来たのかを知りたい好奇心旺盛な開発者に役立つ単語を作成します。エンティティ構文の継承がエンティティを生成するのは奇数であるため、保持が完全に適合していません。キャラクターの名前がどこで使用されているかを特定します。 sgml の意味に関する観察は、HTML テキストのみに属します。

継承されたエンティティの概念の概要。 ToolAcre 自体は固定文字マップのみを使用します

継承されたエンティティの概念の概要。 ToolAcre 自体は固定文字マップのみを使用します。以前の一般化されたマークアップ システムでは、名前を宣言されたテキストまたはデータに関連付け、アンパサンド主導のトークンを通じて参照できました。最新の HTML では、代わりに認識された文字名セットが修正されます。

< がどこから来たのかを知りたい好奇心旺盛な開発者は、エンティティ構文の継承パスの前にアウトライン ツール自体を記録することで、継承されたエンティティの概念をテストできます。比較は、その後は固定のみを使用し、文字マップを担当するパーサーを見つけます。この sgml エンティティ参照履歴の結果は、実行可能コンテキストではなく、エンティティ構文の継承の証拠を説明します。

区切り文字 — & エンティティ参照が開くと、;参照が近い場合は &#、文字参照の場合は

区切り文字 — & エンティティ参照が開くと、;参照が近い場合は &#、文字参照の場合は &# です。表示される区切り記号は実装でも明確なままです。アンパサンドが始まり、セミコロンが終わり、その後のシャープ記号は 10 進数または 16 進数の数値構文を導入します。

短いエンティティ構文の継承サンプルで区切り文字を分離します。リテラル ソースとして開いているエンティティ参照を表示し、参照を閉じてその宛先までたどり、文字参照の API 読み取りに名前を付けます。 sgml エンティティ参照履歴の場合、エンティティ構文継承の証拠はパーサーに結合された証拠のままです。

HTML が構文をどのように借用したか — 文字エンティティの固定セットとそれらをハードコーディングする決定

HTML が構文をどのように借用したか、つまり文字エンティティの固定セットとそれらをハードコーディングする決定です。 ToolAcre は独自の実用的なマップをハードコーディングしています。文書型宣言を読み込んだり、作成者定義の名前、外部リソース、パラメーター エンティティを展開したりすることはありません。

HTML がどのように借用されたかを境界実験として扱います。 < がどこから来たのかを知りたい好奇心旺盛な開発者は、固定セットの構文を保持し、エンティティ構文の継承操作を 1 つ実行し、決定をハードに変更する前に文字エンティティを 1 文字ずつ検査する必要があります。彼らのコードに関する主張は、この HTML 層にとどまります。

残されたもの — 一般エンティティ、パラメータ エンティティ、DTD 駆動の拡張、および HTML5 がこれらを削除した理由

何が残されたのか — 一般エンティティ、パラメータ エンティティ、DTD 駆動の拡張と、HTML5 がこれらを削除した理由。一般的なエンティティ拡張と DTD 機構は意図的に省略されています。これにより、ユーティリティは制限された文字列変換を維持し、完全な SGML、XML、または HTML パーサーを実装しているふりをすることがなくなります。

顧客の資料の代わりに無害な入力を使用して、残されたものを再現します。一般エンティティのパラメータ エンティティを記録し、DTD による展開を観察して、意図的なエンティティ構文の継承パスをすべてカウントします。この sgml エンティティ参照履歴の痕跡により、< がどこから来たのかを知りたい好奇心旺盛な開発者は、推測することなく、html5 が削除された理由とその理由を評価できます。

作業例: SGML 時代のエンティティ宣言とそれに相当する HTML の読み取り - 2 つの世界で同じ ©

作業例: SGML 時代のエンティティ宣言とそれに相当する HTML の読み取り (2 つの世界で同じ©)。概念宣言マッピングのコピーを © に読み取り、現在の操作を比較します。 © は単に U+00A9 を生成するキー検索です。実行時に宣言は参照されません。

エンティティ構文の継承レビュー中に、sgml 時代のエンティティ宣言とそれに相当する HTML を読み取る実際の例を並べて配置します。 < がどこから来たのかを知りたい好奇心旺盛な開発者は、同じコピーが変換時またはダウンストリームで変更されたかどうかを判断できます。 2 つの世界に関する sgml エンティティ参照履歴の結論を、一般的なセキュリティ主張から外してください。

これでカバーされないもの — XML の DTD エンティティの処理と外部エンティティのセキュリティの問題

これでカバーされないもの — XML の DTD エンティティの処理と外部エンティティのセキュリティの問題。 XML 外部エンティティの動作とそのセキュリティ リスクは、DTD が解析されず、リソースがフェッチされないため、このモジュールの外にあります。省略は建築上の特性であり、消毒剤の証拠ではありません。

エンティティ構文の継承を実行する前に、これが実行しないことを定義します。カバー XML の DTD をコントロールとして保存し、エンティティ処理とその背後にあるコード ポイントを検査し、外部のセキュリティ問題を次のインタープリタにマッピングします。これにより、sgml エンティティ参照履歴の調査から < がどこから来たのかを知りたい好奇心旺盛な開発者にとって、エンティティが監査可能になります。

要点: 1980 年代のドキュメント標準が & と入力する理由 — HTML エンティティ エスケープ機能がその継承された構文をどのように生成およびデコードするか

要点: 1980 年代のドキュメント標準は、& と入力する理由、つまり HTML エンティティ エスケープ機能がその継承された構文を生成およびデコードする方法を示しています。継承された構文は、リテラルのアンパサンドが & にならなければならない理由を説明しています。 ToolAcre は、実際の操作をテキスト変換に限定しながら、その最上級の参照を生成します。

1980 年代のドキュメントのテイクアウトを、観察可能なエンティティ構文の継承出力に接続します。標準を維持するのは、ワンパス結果の横にある理由です。次に、入力された HTML エンティティ エスケーパーがどのように入力し、生成するかを確認します。 < がどこから来たのかを知りたい好奇心旺盛な開発者は、狭い sgml エンティティ参照履歴の結果として継承されたものをレビューしてデコードできるようになりました。この記事の背後にある実際的な決定は、HTML から継承されたエンティティ参照、SGML の & 区切り記号およびセミコロン終端記号という具体的なものです。この投稿では、SGML における「エンティティ」の意味、& が選択された理由、および HTML がほとんどの機構を削除しながら構文をどのように維持したかについて説明します。リーダーのアクションも同様に具体的です。HTML エンティティ エスケープ機能にリンクし、アンパサンドを & (最も古い構文形式) にエスケープする方法を示します。