[1] WWW で使われるスタイル言語は、
それを識別するための媒体型名を持っています。
HTTP などの Content-Type:
欄や、 HTML や xml-stylesheet
の type
属性などがこの値をとって、その本体・内容の言語を識別します。
style
要素 type
属性 (HTML、JDCM)[25] HTML の style
要素の
type
属性は、その style
要素の内容のスタイル言語を指定します。
[26] 仕様書: HTML 4 IW:HTML4:"present/styles.html#adef-type-STYLE"
[27] この属性の値は %ContentType
です。
SGML 的には CDATA
です。
[28] この属性は必須です。従って既定値はありません。
しかし多くの UA では、欠けていた時に
text/css
を補って CSS として解釈するようです。
(この動作は最初に style
要素で使われたのが CSS
であり、 CSS のみであったので、当初の実装が style
要素に type
属性を持たせていなかったことによります。)
[29] XHTML 1 の変種である OEB1 の DTD では
text/x-oeb1-css
に固定 (FIXED
)
されています。 (てことは省略可能?)
OEB Publication Structure http://www.openebook.org/oebps/oebps1.0.1/download/oeb101-xhtml.htm
[30] >>11 でも、互換性のために省略しない方がいいことは言うまでもありません。
あえて省略した方が OEB1‐CSS には非対応、 W3C CSS には対応の UA も処理してくれるだろうから・・・という気にもなってきますが、 XML なんだし、そういうことを考えるのは邪道なのかな。
もちろん、本質的な解決策はスタイル・シートは外部に追い出して、
内容折衝で text/css
と自動振り分けです。
[31] HTML もどきである JDCM の style
要素では、
type
属性の値が
text/jss
でなければならないとされています。
[33] NC4 は text/javascript
という値が指定されていると JSSS として認識します。
(HTML UA で CSS 以外が実装されている数少ない例。)
[34] T-Time は text/t-time
という値が指定されていると独自のスタイル言語による指定として認識します。
(HTML UA で CSS 以外が実装されている数少ない例。)
[35] type
属性に対応しておらず、
何が指定されていようと CSS と解釈してしまう UA
が少なからずあると推測されます。
layout
要素 type
属性 (SMIL)[7] SMIL の layout
要素の type
属性は、
配置言語の属性を指定します。
[13] 仕様書:
[15] DTD では CDATA
として定義されています SMIL 1.0。
SMIL 1.0 では本文中に特に規定がありませんが、媒体型が値と思われます。
[16] 既定値は text/smil-basic-layout
で、 SMIL 1.0
で規定されている SMIL基本配置言語を表します。
[18] この属性は layout
要素の適合性や処理モデルに密接に関係しています。
layout
の項も参照してください。
style
要素 type
属性 (XFrames)[43] XFrames ( 版) http://www.w3.org/TR/2010/NOTE-xframes-20101216/#s_style-element
[8] 一般に HTML の link 要素の type 属性は、
a 要素の type
属性と同じく、
リンク先の媒体型を参考として示します。
UA はこの値を見て、リンク先を読むかを検討できます。
(そして必要に応じて、リンク先のプロトコルの媒体型指定の代用とします。)
スタイル・シートの関連付けに使われる LINK
要素についても、この事情は同じです。
[9] スタイル・シートの関連付けに用いる LINK
要素をほぼそのまま XML の処理命令としたものである、
xml-stylesheet にも、 type
擬似属性があります。
仕様書ではこの擬似属性は必須とありますが、
正誤表で訂正されており、 HTML 4 のものと同じく省略可能です。
[10] XBL の stylesheet 要素は、仕様書によれば xml-stylesheet
処理命令と同じ定義ですから、同じ意味の type
属性が存在します。
[12] JDCM の link
要素では、
rel
属性の値が stylesheet
のとき、 type
属性の値が
text/jss
でなければならないとされています。
[36] xml-stylesheet
処理指令の type
属性は、参照されるスタイル・シートの媒体型のヒントを与えます。
>>39
[38] この値はスタイル・シート自体を取出しするに当たって媒体型の情報が得られない場合にのみ応用が用いることを意図したヒントです。 >>39
[37] xml-stylesheet
処理指令の type
擬似属性の値は RFC 2616 の media-type
生成規則に一致する文字列でなければなりません。
その媒体型が登録されているか否かは要件に含まれていません。
>>39
[40] xml-stylesheet
処理指令の type
擬似属性は最初 xml-stylesheet 1.0 1e で HTML 4.0 を参照する形で定義されていました。
[19] HTML の多くの(?)要素で、 style
属性のスタイル言語を指定するために
type
属性を使うことができるとしている解説
(書籍やウェブ頁) があります。
使用例:
<h1
type
="text/css
"style
="color: red"> ほにゃらかほいほい</h1
>
[20] このような type
属性の使われ方は
IETF や W3C の最終版仕様にはありませんし、
Gecko や IE が実装していると言う話も聞きません。
WinIE は onload
属性などのための汎用属性
language
を独自拡張として持っていますが、
CSS しか使えない style
用にも実装しているとはちょっと考えにくいです。
それなら JSSS にも対応していた Classic Mozilla
はと言うと、特に style
属性値の型を指定する方法は用意されていないようです (自動判別?)。
p
要素に type
="text/css"
がついた例があると言う指摘。type
属性があると言う話題で、 HTML 4.0 原案中の例についての話も。HTML 4.0 の最初の原案である
Style Sheets in HTML documents http://www.w3.org/TR/WD-html40-970708/present/styles.html#style-element
中には、 >>1 と似た、 p
要素にスタイル指定を加えた例文がありました。
指摘を受けてその type
属性は次の原案で削られています。
ところで、その原案の前の版である
HTML and Style Sheets http://www.w3.org/TR/WD-style-970324
の同じ例には、 type
属性がありません。
ですから、この原案が出された後、
W3C の HTML WG で type
属性が提案されたものの結局は採用されなかった可能性があります。
ただ、このたった一つの例から汎用属性(?)に出世してかなり広範囲に知れわたったのだとすると話がうますぎます。 大体不思議解説の著者は仕様書の原案なんて読まないでしょう。 (でも本文や DTD は読まないけど新しい tag や属性を漁ってはいるかもしれない。) 他にも出所があるのかもしれません。
[22] 出現例のある要素型:
[23] 出現例:
この属性が載っている解説本もありましたし、 解説頁等ももっとあるかもしれませんが、 検索し難いので全貌がつかめません。
[24] 超有名というほどではないですが、かなりの範囲に広がっている (た) と推測されますけど、共通の親玉みたいなものはいるのでしょうか。別々に発生したとするとちょっと不自然な気がします。
[2] Improve <style> and <script> processing and conformance (domenic著, ) https://github.com/whatwg/html/commit/9c612ac8641b5174849a2d3cb924fe662a8d3a09
[3] Should we remove <style>'s language-agnostic spec prose? · Issue #2995 · whatwg/html () https://github.com/whatwg/html/issues/2995
[5] <style type>/<script type> and MIME type parameters · Issue #3022 · whatwg/html () https://github.com/whatwg/html/issues/3022
[6] Improve <style> and <script> processing and conformance by domenic · Pull Request #3024 · whatwg/html () https://github.com/whatwg/html/pull/3024
[44] Editorial: update usage of the MIME Sniffing Standard (domenic著, ) https://github.com/whatwg/html/commit/fc82f4f8774a2e7e80f6c9477bd881f6c783b186
[45] Editorial: update usage of the MIME Sniffing Standard by domenic · Pull Request #3455 · whatwg/html () https://github.com/whatwg/html/pull/3455