[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] [[色]]の値が[[装置]]で表現できる範囲を超えているときは、 一番近い値にくりぬくべきです。 [20] 1axva75-mjwua1d-tw6q7f94-0 http://microbial-ecology.net/forum/topic.asp?TOPIC_ID=316#1 buy phentermine online [url=http://www.gorskikotar.hr/cgi-bin/forum/topic.asp?TOPIC_ID=116&FORUM_ID=9&CAT_ID=2#3]phentermine cheap[/url] [url]http://microbial-ecology.net/forum/topic.asp?TOPIC_ID=314#4[/url] ([[cheap viagra]] [d21s_test287@hotmail.com]) [21] 1axva75-mjwua1d-tw6q7f94-0 http://microbial-ecology.net/forum/topic.asp?TOPIC_ID=316#1 buy phentermine online [url=http://www.gorskikotar.hr/cgi-bin/forum/topic.asp?TOPIC_ID=116&FORUM_ID=9&CAT_ID=2#3]phentermine cheap[/url] [url]http://microbial-ecology.net/forum/topic.asp?TOPIC_ID=314#4[/url] ([[cheap viagra]] [d21s_test287@hotmail.com]) [22] Hinicesitemdu hoho ([[Ambien]] [testing@code.com]) [23]

Phentermine

Generic Viagra

Tramadol

Ambien

Xanax

([[Phentermine]] [nuje@gmail.com]) [24] Pharmacy

Viagra

Cialis

Lipitor

Meridia

([[cialis]] [cialis@besttryver.com.au]) [25] Online

Adipex

Levitra

Hydrocodone

Zoloft

Ultram

([[adipex]] [adipex@newver.org]) [26]

Phentermine

Generic Viagra

Ambien

Tramadol

Xanax

([[Phentermine]] [doctor@gmail.com]) [27]

Phentermine

Generic Viagra

Ambien

Tramadol

Xanax

([[Phentermine]] [doctor@gmail.com]) [28] Order it:

Viagra

Cialis

Hydrocodone

Adipex

Levitra

Meridia

Lipitor Zoloft Ultram ([[cialis]] [cialis@nire_einli.org]) [29]

Generic Viagra

Phentermine

Ambien

Tramadol

Xanax

([[Phentermine]] [lector@gmail.com]) [30] Shalom ([[adipex]] [adipex@klium.com.tr]) [31] Shalom ([[adipex]] [adipex@klium.com.tr]) [32] I think you are wrong. ([[Generic viagra]] [eto@vamdva.com]) [33] Shalom ([[adipex]] [adipex@klium.com.tr]) [34] I try it ([[Levitra]] [levitra@6548hjokoly.org]) [35] Just looking for info

Viagra

Lipitor

Meridia

Zoloft

Adipex

Ultram

Cialis Levitra Hydrocodone ([[Cialis]] [cialis@odpaamhbt20.com]) [36] Hi! You have a nice site! But it has appeared in the list of resources, that want to receive advertising. If you want to exclude your website from our list, please submit it to our anti-spam list here: http://nospam.t35.com. Thanks for cooperation! ([[Nospam]] [nospam@nospam.t35.com]) [37] Good work! Thanks! online car insurance direct car insurance car insurance [url=http://tbns.net/carinsure/auto-insurance-quote.htm]auto insurance quote[/url] ([[Fillipo]] [largoeast@gmail.com]) [38]

Phentermine

http://www.wvup.edu/dmcclung/_psychololgy121/00000075.htm Phentermine

Phentermine

http://www.wvup.edu/dmcclung/_psychololgy121/00000076.htm Phentermine ([[phentermine]] [pro@yahoo.com]) [39]

Phentermine

http://education.uncc.edu/wkwhite/_ADMN8110_groupc/00000029.htm Phentermine

Phentermine

http://education.uncc.edu/wkwhite/_ADMN8110_groupc/00000028.htm Phentermine ([[Phentermine]] [pro@gmail.com]) [40] [PRE[ Rolex Replica online [URL=http://www.cafebabel.com/forum/topic.asp?TOPIC_ID=901]Rolex Replica[/URL] online http://www.cafebabel.com/forum/topic.asp?TOPIC_ID=901 Rolex Replica online ]PRE] ([[Bill]] [bill@yahoo.com]) [41] Hammm… Nice article… Interesting. buy bontril [PRE[ [url=http://licia.artov.isc.cnr.it/twiki/pub/Main/ValentinoRossini/didrex.htm] didrex [/url] [url=http://licia.artov.isc.cnr.it/twiki/pub/Main/ValentinoRossini/vicodin.htm] vicodin [/url] [url=http://licia.artov.isc.cnr.it/twiki/pub/Main/ValentinoRossini/zoloft.htm] buy zoloft [/url][url=http://licia.artov.isc.cnr.it/twiki/pub/Main/ValentinoRossini/bontril.htm] buy bontril [/url] ([[Alexis]] [DimitrisFasqoll73@gawab.com]) ]PRE] [42] A very interesting site with top design and contents! [PRE[ order viagra [url=http://hep-twiki.physics.utoronto.ca/twiki/pub/Main/DavidRoches/order-viagra.htm] order viagra [/url] [url=http://hep-twiki.physics.utoronto.ca/twiki/pub/Main/DavidRoches/buy-cialis.htm] buy cialis [/url] [url=http://hep-twiki.physics.utoronto.ca/twiki/pub/Main/DavidRoches/coral-calcium.htm] coral calcium [/url] ([[Thanasis]] [AngeloFasrox85@gawab.com]) ]PRE] [43] Your site has very much liked me. I shall necessarily tell about him to the friends. buffie the body [url=http://buffie-the-body.yuoi.biz] buffie the body [/url] ([[Michalis]] [AthanassiosBotyur73@gmail.com]) [44] hi, you have super site. [PRE[ anime babes anime porn anime girls [url=http://anime-porn.oppe.biz] anime porn [/url] [url=http://anime-babes.oppe.biz] anime babes [/url] ([[Vasileios]] [AntoniosDasewy60@gawab.com]) ]PRE] [45] Very good site! I like it! Thanks! [PRE[ teen sluts big booty dirty sanchez riding dirty [url=http://slut-wives.gyty.biz] slut wives [/url] ([[Aris]] [AnastassiosDolity80@gmail.com]) ]PRE] [46] propecia, http://projects.csail.mit.edu/events/data/102/uploads/propecia.html ([[Kelly]] [2313dsgng@yahoo.com]) [47] Phentermine, http://projects.csail.mit.edu/events/data/102/uploads/phentermine.html ([[Nelly]] [2313dsgng@yahoo.com]) [48] Ultram, http://projects.csail.mit.edu/events/data/102/uploads/ultram.html ([[Nicolas]] [2313dsgng@yahoo.com]) [49] Phentermine, Phentermine Top 10 ([[Bill]] [votetoseo@yahoo.com]) [50] Phentermine, Phentermine ([[Bob]] [sfewgregbf@yahoo.com]) [51] Nice site [url=http://carrentals.ipbfree.com/index.php?showtopic=13]Miami Car Rental[/url] [url=http://carrentals.ipbfree.com/index.php?showtopic=12]National Car Rental[/url] ([[Donna]] [topjaeyper@usmail.com]) [52] I have visited your site 710-times ([[Visitor076]] [ebl@yahoo.com]) [53] Your site found in Google: position683 ([[Visitor856]] [evx@yahoo.com]) [54] Your site found in Google: [URL=http://google.com/search?q=adx]position264[/URL] ([[Visitor795]] [btt@yahoo.com]) [55] Your site found in Google: http://google.com/search?q=wbn ([[Visitor109]] [wuc@yahoo.com]) [56] I could not find this site in the Search Engines index ([[Visitor449]] [wnx@yahoo.com]) [57] [CODE(HTMLe)@en[[[style]]]] [[要素]]の最後が閉じられていない[[注釈]] ([[名無しさん]]) [58] [CODE(HTMLa)@en[[[style]]]] [[属性]]の最後が閉じられていない[[注釈]] ([[名無しさん]]) [59] >>57-58 >>9 の規則により、閉じられていない[[注釈]]は閉じられているものとして扱われるはずです。 [[WinIE 6]] と [[Firefox]] 2 は実際にそのように解釈しますが、 [[Opera]] 9 はその閉じられていない[[注釈]]が含まれる[[規則集合]]全体 (または [CODE(HTMLa)@en[[[style]]]] [[属性値]]全体) を無視するようです ([[CSSOM]] や [CODE(DOMa)@en[[[cssText]]]] にも現れません)。 ([[名無しさん]]) [60] >>57 に [CODE(CSS)@en[@[[media]]]] を加えてみた: ([[名無しさん]]) [61] >>60 [[WinIE 6]] は正しい解釈 (閉じられていない[[注釈]]だけを無視)。 [[Opera]] 9 はやはり閉じられていない[[注釈]]を含む[[規則集合]]を無視。 [[Firefox]] 2 は閉じられていない[[注釈]]を含む [CODE(CSS)@en[@[[media]]]] [[@規則]]全体を無視。 ([[名無しさん]]) [62] >>57, >>58, >>60 の閉じられていない[[注釈]]を閉じられていない[[ブロック]]に変えてみた: = = = ([[名無しさん]]) [63] >>62 [[WinIE 6]]: [CODE(CSS)[[[{]]]] を[[ブロック]]の始まりとみなさず、 無視する (対応する [CODE(CSS)[[[}]]]] があったとしても同じ)。 [[Firefox]] 2: 1 と 2 は正しい解釈だ ([CODE(CSS)[[[{]]]] から最後までを無視する) が、 3 はやはりなぜか [CODE(CSS)[@[[media]]]] [[@規則]]全体を無視する。 [[Opera]] 9: 1 と 3 は正しく解釈するが、 2 は[[属性値]]全体を無視する (対応する [CODE(CSS)[[[}]]] があっても同じ)。]] ([[名無しさん]]) [64] >>63 [CODE(CSS)[[[{]]]] を [CODE(CSS)[[['''[''']]]] や [CODE(CSS)[[[(]]]] に変えると、 [[WinIE 6]] や [[Firefox]] 2 は同じ結果、 [[Opera]] 9 は 2 も PASS になりました。 ([[名無しさん]]) [65] >>64 でも [[Opera]] 9 は が FAIL になります。 [CODE(CSS)[[['''[''']]]] でも同じです。 つまり、[[Opera]] 9 は [CODE(CSS)[[['''[''']]]] や [CODE(CSS)[[[(]]]] の対応関係をチェックしていません。 ([[名無しさん]]) [66] >>62-65 [[Opera]] 9 は [CODE(CSS)@en[[[{]]]] の対応もチェックしていないようです。 ;; でも [CODE(CSS)[[[{]]]] の前に他のものがあればちゃんと[[ブロック]]全体を無視します。 ;; ([[名無しさん]]) [67] >>66 の動作は [[WinIE 6]] と同じようです。 [[WinIE 6]] は >>66 の2つ目のテストを PASS します。 ([[名無しさん]]) [68] [[選択子]]中に [CODE(CSS)[[[;]]]] がある: [[WinIE 6]]、[[Firefox]] 2、[[Opera]] 9 も仕様通りの動作。 ([[名無しさん]]) [69] [CODE(CSS example)[@; p { ... }]] [[Firefox]] 2 と [[WinIE 6]] は [CODE(CSS)[[[@]]]] 以後全体を無視。 [[Opera]] 9 は [CODE(CSS)[[[@]]]] と [CODE(CSS)[[[;]]]] だけを無視。 ([[名無しさん]]) [70] >>69 の [CODE(CSS)[[[@]]]] の後に[[空白]]を入れてみた: [[Firefox]] 2 は [CODE(CSS)[[[@]]]] 以後全体を無視。 [[WinIE 6]] と [[Opera]] は [CODE(CSS)[[[@]]]] と [CODE(CSS)[[[;]]]] だけを無視。 ([[名無しさん]]) [71] - - ([[名無しさん]]) [72] >>71 [[Opera]] 9, [[WinIE 6]] はどちらも緑色。 [[Firefox]] 2 は前者は緑色、後者は黒色 ([CODE(CSS)[url(]] 以後全部無視)。 ([[名無しさん]]) [73] >>71-72 [[CSS 2.1]] の[[字句]]の定義通りに解釈すると、 [[引用符]]〜[[改行]]の直前は [CODE(CSS)[[[INVALID]]]] とみなされる。てことで [CODE(CSS)[[[INVALID]]]] 2連続の後 [CODE(CSS)[color: red !important;]] があるので、そこまで無視される。 これが、前者が緑色になる根拠。 ただ、 >>7 の[[引用符]]の対応を考慮しろという規定があるので、 赤色になるという解釈もできなくはない。 後者の場合、 [CODE(CSS)[[[url]](]] があるので、同じく >>7 の [CODE(CSS)[[[(]]]] の組を考慮しろという規定より、 どこにも [CODE(CSS)[[[)]]]] がないので、残り全部無視されるというのが一番正しい。この点は [[Firefox]] 2 が正しい。 ただし、 [CODE(CSS)[[[INVALID]]]] の規定よりも [CODE(CSS)[[["]]]] の対応関係の規定を優先すると解釈した場合、 [CODE(CSS)[[["]]]] も [CODE(CSS)[[[(]]]] も一応ちゃんと組になってはいるので、 [[赤色]]になるのが正しいということにもできなくもない。 ([[名無しさん]]) [74] ([[名無しさん]]) [75] >>74 [[Firefox]] 2 と [[WinIE 6]] は [CODE(CSS)[[[p]]]] を無視する (正しい) が、 [[Opera]] 9 は [CODE(CSS)[[[p]]]] が [CODE(CSS)[@[[media]]]] の外にあるとみなす。 ([[名無しさん]]) [76] ([[名無しさん]]) [77] >>76 [[Firefox]] 2 と [[Opera]] 9 はすべて無視する (正しい) が、 [[WinIE 6]] は [CODE(CSS)[[[q]]]] の[[規則集合]]とみなす。 ([[名無しさん]]) [78] ([[名無しさん]]) [79] >>78 [[WinIE 6]] と [[Opera]] 9 は 4つの[[規則集合]]、 [[Firefox]] 2 は2つの[[規則集合]]とみなします。 ([[名無しさん]]) [80] ([[名無しさん]]) [81] >>80 こちらは [[Firefox]] 2、[[Opera]] 9、[[WinIE 6]] 共に4つの[[規則集合]]として解釈します。 ([[名無しさん]]) [82] >>78-79 は [[Firefox]] 2 も4つの[[規則集合]]とみなします。 ([[名無しさん]]) [83] >>78-82 [[規則集合]]の定義のところで[[選択子]]は [CODE(CSS)[[[{]]]] の直前まで全部と書いてあるので、 4つの[[規則集合]]とみなすのが正解です。 ([[名無しさん]])