[1] Content-Style-Type:
ヘッダーは、文書の既定のスタイル言語を指定するものとして提案されていました。
[8] 00年代には一部で実装されており、使われてもいましたが、 ほとんど意味がなく、現在では使われていません。
[23] 古い HTML文書では <meta http-equiv>
により
Content-Style-Type
が指定されているかもしれませんが、
今となっては全く意味がありませんから、削除して構いません。
[3] HTML 4 仕様書では、 CSS を使う時に text/css
という値を使うということだけが示されていて、
Content-Style-Type:
欄本体の構文には一切言及がありません。
インターネット媒体型を指定するように見えますが、
それすらはっきりしません。
[28] 仕様書でははっきりしませんが、実際には媒体型を指定するものと理解されています。
ただし、媒体型の引数が指定できるのかどうかは、
(HTML で媒体型を使う他の場所と同様に) はっきりしません。
(ただし、 charset
引数の用例はあります。)
[29] >>7 の HTML 4 の規定より、 Content-Style-Type
欄は複数個指定できることがわかります。 HTTP の規定によれば、
同じ名前の複数個の頭欄を使用できるのは読点区切りで複数個値を指定できるもの
(HTTP RFC の ABNF でいう #something
)
だけです。ですから、 HTML 4
仕様書には明記されていませんが読点区切りの指定も認めざるを得ません。
複数個指定しても >>7 の通り最後のもの以外は無視されるのですが、 鯖ソフトウェア内の処理の関係か複数個の CST を吐いている例はしばしば見かけます。
[30] >>3-29 より Content-Style-Type:
欄の構文は次の通り推定できます。
Content-Style-Type := "Content-Style-Type" *WSP ":" Content-Style-Type-body
Content-Style-Type-body := [CST-content] *([ FWS ] "," [CST-content])
CST-content := [FWS] <RFC 2616 type> "/" <RFC 2616 subtype> *([FWS] ";" <RFC 2616 parameter> [FWS]) [FWS]
[4] 稀に charset
引数が指定されていることがありますが、
一般には不要と理解されています。 Content-Type:
欄のような場合とは異なり、対応する実体が直接存在しているわけではなく、
Content-Style-Type:
の役割は
単に書式 (媒体型) を識別するに過ぎないからです。
[7] UA は、文書の既定のスタイル言語を次の優先順位で決定するべきです。 [HTML 4]
meta
要素を使った Content-Style-Type
指定のうち、文書順で最後のものContent-Style-Type
指定のうち、一番後のものtext/css
[12] >>7 の順序は、
と考えることで、
meta
要素内の HTTP 頭欄代替表現は、実際の HTTP 頭欄の後に続いて存在する一番最後の頭欄の、一番最後の項目
と言い換えることが出来ます。
[13] 一方で、 style
属性を使っていながらスタイル言語が明記されていない文書は不正です。
また、著述工具は既定スタイル言語情報を生成して
UA が text/css
という既定値を使わなくて済むようにするべきです。
[HTML 4]
このように規定されていることから、 text/css
を既定値とするのは従来の文書との互換のためだけであることがわかります。
[26] >>13 もっとも、 HTTP 以外の転送プロトコルや local
のファイルなどで、 Content-Style-Type
相当の指定が無い場合にも 3 番目に行くかもしれません。
それを考えると、 text/css
以外のスタイル言語を
style
属性で使う時には meta
要素でも指定する方が安全かもしれません。
[31]
DTV A S E L 1 (DASE-1) P 2: D A E ATSC Standard http://www.atsc.org/standards/a_100_2.pdf は、 HTTP 頭欄を使わず、
meta
要素の name
属性の値が Content-Style-Type
属性であるものを使います。その content
属性の値は媒体型です。省略時の既定値は text/css
です。
5.1.1.6.7.2 Default Style Content Type
(名無しさん [sage])
[36]
HTML 4 の Content-Style-Type
に関わる要件は次の5つあります:
Authors must specify the style sheet language of style information associated with an HTML document.
Authors should use the META element to set the default style sheet language for a document.
The default style sheet language may also be set with HTTP headers.
Documents that include elements that set the style attribute but which don't define a default style sheet language are incorrect.
Authoring tools should generate default style sheet language information (typically a META declaration) so that user agents do not have to rely on a default of "text/css".
(名無しさん)
meta
要素を使うのが (通常は) よい。style
属性を用いていて、既定スタイル・シート言語が定義されていないのは誤り。 (しかし
link
で参照された外部スタイル・シートや
style
要素には言及なし。)style
属性の有無はともかく) 既定スタイル・シート言語の情報を生成するのがよい。(名無しさん)
[38] Setting the default style sheet language on your Web site - W3C Q&A Weblog ( 版) http://www.w3.org/QA/2007/09/setting-default-style-sheet.html (名無しさん)
text/css
meta
http-equiv
="Content-Style-Type
" content
="text/css
" />[22]
Apache の .htaccess
を使って >>5 を指定するためには、
<IfModule mod_headers.c> Header setContent-Style-Type
"text/css
" </IfModule>
と書きます。
(mod_headers
が組み込まれている時のみ有効。)
[20] この欄の W3C draft 初出は 『HTML3 and Style Sheets』 (1996年7月10日) http://www.w3.org/TR/WD-style-960710#lang です。 (この WD はその後の HTML 4 のスタイル・シートの章の直接の祖先です。)
この時点で既に HTML 4
最終版とほぼ同じ規定ですが、
style
要素型の
type
属性は必須でありませんでしたし、
style
属性を使っていても
CST:
欄は必須ではありませんでした。
現在でも CSS が既定値になっている
(>>7) のはこの時以来の名残でしょう。
[21] この措置は当時の NN や IE の実装との互換性を考えれば妥当なものでした。 それが HTML 4 では必須化されたのは未来との互換性を重視したとでも言えましょう。
[24]
Content-Style-Type
や Content-Script-Type
のような、 HTTP RFC で規定されていない HTTP 頭欄を使うことについては、 HTML 4 の策定中から批判はありました。また、 style
属性や事象属性の型を文書単位でしか指定できないことを指摘する意見もありました。 (たとえば www-html で何度か話題になっています。)
そういう声を押し切って HTML 4 に残った理由は (HTML WG の議事録は公開されていないので) 分かりません。 (W3C WG の議事録は一定期間後に公開するべきだよね?)
[10] RFC 4229 は HTML4 を出典に IANA登録簿に状態「標準」 で登録しています >>9。
[16] SVG には svg
要素に
contentStyleType
属性があり、
これを使って既定スタイル言語を指定します。
(Styling - SVG http://www.w3.org/TR/SVG/styling#ContentStyleTypeAttribute)
[17] >>16 ちなみにその既定値は text/css
です。
[18] >>16-17 古い WD では、 Content-Style-Type:
を見ていましたが、削除されました。
(Styling http://www.w3.org/TR/1999/WD-SVG-19991203/styling.html#StyleAttribute)
既定値はやはり text/css
でした。
[19] http://www.w3.org/TR/css-style-attr は実際には
と語ってます。text/css
以外は style
属性では使われない
[25]
Content-Style-Type
や
Content-Script-Type
の役割を実現する方法は幾つかあります。
language
属性の方法javascript:
や vbscript:
で判別する方法style
属性のように CSS に固定style
属性や事象属性は使わない : 表現と構造の分離原則的に正統な方法どれも一長一短で、結局全部乱立する羽目になったわけです。
[32] Content-Script- and Content-Style-Type from Bjoern Hoehrmann on 2004-05-28 (www-qa@w3.org from May 2004) http://lists.w3.org/Archives/Public/www-qa/2004May/0045 (名無しさん)
[33]
無料動画:映画、海外ドラマ、アニメほか|パソコンテレビGyaO[ギャオ] (2007-07-04 20:19:06 +09:00
版) http://www.gyao.jp/
<meta http-equiv="Content-script-Type" content="text/javascript; charset=Shift_jis" /> <meta http-equiv="Content-style-Type" content="text/css; charset=Shift_jis" />
(名無しさん)
[34]
無料動画:映画、海外ドラマ、アニメほか|パソコンテレビGyaO[ギャオ] (2007-07-04 20:19:06 +09:00
版) http://www.gyao.jp/
<meta http-equiv="Content-script-Type" content="text/javascript; charset=Shift_jis" /> <meta http-equiv="Content-style-Type" content="text/css; charset=Shift_jis" />
(名無しさん)
[35]
マンション投資 : マンション投資・不動産投資物件、投資型/投資用マンション - 日経住宅サーチ (2007-08-02 21:50:10 +09:00
版) http://sumai.nikkei.co.jp/invest/
<meta http-equiv="Content-Style-Type" content="text/css; charset=Shift_JIS"> <meta http-equiv="Content-Script-Type" content="text/javascript; charset=Shift_JIS">
(名無しさん)
[39] Styling – SVG 1.1 (Second Edition) ( ( 版)) http://www.w3.org/TR/2011/REC-SVG11-20110816/styling.html#DefaultStyleSheetLanguage
[40] IRC logs: freenode / #whatwg / 20140121 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20140121
[41] Web Applications 1.0 r8592 PARSER CHANGE: remove some attributes from the SVG attribute mapping ( ( 版)) http://html5.org/tools/web-apps-tracker?from=8591&to=8592
[27] Note how the SVG currently implemented in browsers is a mix of SVG 1.… · whatwg/html@969c45b ( 版) https://github.com/whatwg/html/commit/969c45b2478d1d2d3be8564ec85dc316a53c8bcf
[42] Do not allow http-equiv values curated via wiki (domenic著, ) https://github.com/whatwg/html/commit/72d084b81fa94915518b9cf279afef87d835e88e