4

HTML 5.1 仕様によると:: 10 進数参照:

アンパサンドの後には "#" (U+0023) 文字が続き、その後に 1 つ以上の ASCII 数字が続きます。これは、以下の定義に従って許可されている Unicode コード ポイントに対応する 10 進数の整数を表します。数字の後には「;」を付ける必要があります。(U+003B) 文字。

以下:

上記の数字参照形式は、U+0000、U+000D、永久に未定義の Unicode 文字 (非文字)、サロゲート (U+D800–U+DFFF)、およびスペース以外の制御文字以外の Unicode コード ポイントを参照できます。文字。

私は混乱しています。参照できない文字 (U+000 や U+00D など) が禁止されているか、参照としてではなく単に text として扱われることを意味しますか?

TL;DR同様に参照できないエンティティに対して検証エラーをスローする
か、テキストとして処理する必要がありますか?

4

2 に答える 2

3

8.2.4.69 文字参照をトークン化すると、次のようになります。

それ以外の場合、数値が 0xD800 から 0xDFFF の範囲内にあるか、0x10FFFF より大きい場合、これは解析エラーです。U+FFFD REPLACEMENT CHARACTER 文字トークンを返します。

それ以外の場合は、コード ポイントがその数値である Unicode 文字の文字トークンを返します。さらに、数値が0x0001〜0x0008から0x000dから0x001f、0x007fから0x009f、0xfdd0〜0xfdefの範囲にある場合、または0x000b、0xffffe、0xffff、0x1fffe、0x1ffff、0x2ffffffffffffe、0x3ffffffffe、0x2ffffffffeのいずれかです。 、0x5fffe、0x5fffffff、0x6fffe、0x6ffff、0x7fffe、0x7ffff、0x8fffe、0x8ffff、0x9fffe、0x9ffff、0xafffe、0xaffff、0xbfffe、0xbffff、0xfffffe、0xfffffe、0xffffe、0xffffe、0xfffffe、0xfffffe、0xfffffe、0xfffffe、0xfffffe、0xfffffe、0xfffffe、0xfffffe、0xfffffe、これは解析エラーです。

于 2014-04-04T11:39:37.863 に答える
1

私が見つけることができる限り、仕様で指定されていませんが、ほとんどの (すべてではないにしても) 最新のブラウザーは依然としてそれらを文字として扱いますが、それらが既知のスケールに属していない場合は、未知の記号マーカーが代わりに出力されます。

サンプル

ただし、この質問は広く適用できると私は信じているため、信頼できる(仕様)情報源から得た回答の方が良いでしょう。

関連する質問へのこの回答も参照してください。

于 2014-04-04T10:38:11.203 に答える