[1] [[CSS]] は、将来も含めたすべての[RUBYB[水準]@en[level]]で共通の[[文法]]を定めています。 現在の水準ではまだ使われていない構造の[[構文解析]]法 (読み飛ばす方法) も定められており、 これを[DFN[[RUBY[前方互換構文解析][ぜんぽうごかんこうぶんかいせき]@en[forward‐compatible parsing]]]]規則といいます。 また、様々な出力[[媒体]]や実装の程度等を考慮して、 扱えない構造をどう扱うかも決められています。 ここでは、それら[Q[ある実装が扱えないもの]]をどう処理するかに関する [[CSS]] の規定について扱います。 [5] -[[CSS 2]] --[CSECTION@en[3.3 Error conditions]] --[CSECTION@en[4.2 Rules for handling parsing errors]] -[2] [[ブロック]]内や [CODE(CSS)@en[@[[charset]]]]・[CODE(CSS)@en[@[[import]]]] ''以外''の[[妥当]]な[[@規則]]の後にある [CODE(CSS)@en[@[[import]]]] [[規則]]は、[[非妥当]]なので、[[無視]]します。 -[3] [[選択子]]で[[読点]]が使われている場合でも、 [[選択子]]のどこかに[[誤り]]があれば、[[文]]全体を[[無視]]するべきです。 -[4] [[非妥当]] (未知) な[[特性名]]を持つ[[宣言]]は[[無視]]しなければなりません。 , -[6] [[非妥当]] (未知) な[[値]]を持つ[[宣言]]は[[無視]]しなければなりません。 , --[12] [[負]]の[[値]]を認めない[[特性]]で[[負]]の[[値]]が指定されたときは、 その[[宣言]]を[[無視]]します。 --[14] 未対応の[[値]]は、[[非妥当]]な[[値]]同様に無視するべきです。 -[7] 不正な[[宣言]]は[[無視]]しなければなりません。その場合、 [[逃避]]や括弧類の対応を見つつ、その[[宣言]]の終わりまで読み飛ばします。 -[8] [[非妥当]]な[[@鍵語]]が現れたら、 最初の[[セミコロン]]または[[ブロック]]までを読み飛ばします。 -[9] 括弧類が[[スタイル・シート]]の終わりで閉じられていないときは、 閉じられているものとして扱います。 -[10] [[文字列]]が[[行末]]で閉じられていないときは、 閉じられているものとして扱いますが、それが含まれる構造を無視します。 -[15] [[スタイル・シート]]の先頭にあって規定通りの方法で記述されたもの以外の [CODE(CSS)@en[@[[charset]]]] [[規則]]は、[[無視]]します。 -[16] [CODE(CSS)@en[@[[charset]]]] と実際の [[charset]] に齟齬があるときは、[[スタイル・シート]]を[[無視]]します。 -[17] 使用されている [[charset]] に対応していないときは、 [[スタイル・シート]]を[[無視]]します。 -[18] すべての[[スタイル・シート]]を入手できないときは、 入手できたものだけを使って処理します。 -[19] 対応していない[[媒体型]]に適用される[[規則]]は[[無視]]しなければなりません。 -[11] [[負]]の値に対応できないときは、 対応できる一番近い値とみなすべきです。 -[12] [[非妥当]]な [[URI]] や、アクセス不能・不適当な[[資源]]が[[参照]]されている場合の扱いは、 [[利用者エージェント]]依存です。 -[13] [[色]]の値が[[装置]]で表現できる範囲を超えているときは、 一番近い値にくりぬくべきです。