#?SuikaWiki/0.9 [1] [[WWW]] で使われる[[スタイル言語]]は、 それを識別するための[[媒体型]]名を持っています。 [[HTTP]] などの [[Content-Type:]] 欄や、 [[HTML]] の [[type]] 属性などがこの値をとって、その[[本体]]・[[内容]]の言語を識別します。 *媒体型 ,[[application/x-hlink+xml]],[[HLink]] ,[[text/css]] ,[[CSS]]・[[i-CSS]] ,[[text/javascript]] ,[[JavaScriptStyleSheet]] ,[[text/jss]] ,[[JISX4052]] スタイル指定 ,[[text/smil-basic-layout]] ,[[SMIL基本配置言語]] ,[[text/spice]] ,[[Spice]] ,[[text/x-oeb1-css]] ,[[OEB]] CSS ,[[text/xsl]] ,[[XSL]] ([[XSLT]]) ,[[text/xslfo]] ,[[XSL-FO]] - [4] [[i-XHTML]] では、 [[W3C]] CSS とは互換性の無い [[i-CSS]] を使うにも拘らず、 [CODE(MIME)[text/css]] を使います。 - [11] ところでこの中で [[IANA]] にちゃんと登録されているのは [CODE[text/css]] だけです。 [[#comment]] *style 要素 type 属性 (HTML, XHTML) [3] この属性は省略不能です。従って既定値はありません。 しかし多くの [[UA]] では、欠けていた時に [CODE[text/css]] を補って CSS として解釈するようです。 (この動作は最初に [[style]] 要素で使われたのが CSS であり、 CSS のみであったので、当初の実装が [CODE(HTML)[style]] 要素に [CODE(HTML)[type]] 属性を持たせていなかったことによります。) [2] 最初に規定した公式仕様は [[HTML4]] です。 [5] [[OEB]]1 では [CODE(MIME)[text/x-oeb1-css]] に固定 ([CODE(XML)[FIXED]] てことは省略可能?)。 (''OEB Publication Structure'' ) [6] >>5 でも、互換性のために省略しない方がいいことは言うまでもありません。 あえて省略した方が OEB1‐CSS 非対応 W3C CSS 対応 UA も処理してくれるだろうから・・・という気にもなってきますが、 [[XML]] なんだし、そういうことを考えるのは邪道なのかな。 もちろん、本質的な解決策はスタイル・シートは外部に追い出して、 [[内容折衝]]で [CODE[text/css]] と自動振り分けです。 [[#comment]] *layout 要素 type 属性 (SMIL) [7] [[SMIL]] 1.0/2.0 の [[layout]] 要素で、配置に使用するスタイル言語を指定します。 省略可能で、既定値は [CODE[text/smil-basic-layout]] ([[SMILBasicLayoutLanguage]]) です。 仕様書では他に [CODE[text/css]] ([[CSS]]) の例が出ています。 (''Synchronized Multimedia Integration Language'' ) [[#comment]] *link 要素 type 属性 (HTML, XHTML), xml-stylesheet 処理命令 type 擬似属性, stylesheet 要素 type 属性 (XBL) [8] 一般に HTML の [[link]] 要素の [[type]] 属性は、 [[a]] 要素の [CODE(HTML)[type]] 属性と同じく、 リンク先の[[媒体型]]を参考として示します。 UA はこの値を見て、リンク先を読むかを検討できます。 (そして必要に応じて、リンク先のプロトコルの媒体型指定の代用とします。) スタイル・シートの関連付けに使われる [CODE(HTML)[LINK]] 要素についても、この事情は同じです。 [9] スタイル・シートの関連付けに用いる [CODE(HTML)[LINK]] 要素をほぼそのまま [[XML]] の[[処理命令]]としたものである、 [[xml-stylesheet]] にも、 [CODE(HTML)[type]] 擬似属性があります。 仕様書ではこの擬似属性は必須とありますが、 正誤表で訂正されており、 HTML 4 のものと同じく省略可能です。 [10] [[XBL]] の [[stylesheet]] 要素は、仕様書によれば [[xml-stylesheet]] 処理命令と同じ定義ですから、同じ意味の [CODE(XBL)[type]] 属性が存在します。 [[#comment]] *メモ