-
Notifications
You must be signed in to change notification settings - Fork 4
/
120.txt
335 lines (217 loc) · 14.1 KB
/
120.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
* 単純リンク系 [CODE(HTMLa)@en[type]] 属性
[123] [[HTML]] の [CODE(HTMLe)@en[[[a]]]] [[要素]]などの[[単純リンク]]の
[DFN[[CODE(HTMLa)@en[[[type]]]] [[属性]]]]は、[[リンク先]]の[[MIME型]]を表す[[ヒント]]です。
** 仕様書
[REFS[
- [122] [CITE@en[RFC 5988 - Web Linking]] ([TIME[2012-03-22 09:19:11 +09:00]] 版) <http://tools.ietf.org/html/rfc5988#page-9>
]REFS]
** 意味
[124] [[HTTP]] の [CODE(HTTP)@en[[[Link:]]]] 欄の [DFN[[CODE(HTTP)@en[[[type]]]] [[引数]]]]は、
[[リンク]]を[[解参照]]すると得られるべき[[MIME型]]を示す[[ヒント]]です。 [SRC[>>122]]
** 構文
*** HTTP [CODE(HTTP)@en[Link:]] 欄
[125] [[HTTP]] の [CODE(HTTP)@en[[[Link:]]]] 欄の [CODE(HTTP)@en[[[type]]]] [[引数]]は必須ではありません。
また、複数あっては[['''なりません''']] [SRC[>>122]]。
[126] 値は[[MIME型]]です。すなわち、 [[RFC 4288]] の [CODE(ABNF)[[[type-name]]]]
と [CODE(ABNF)@en[[[subtype-name]]]] を [CODE(char)[[[/]]]] で連結したものです [SRC[>>122]]。
または、これを [CODE(char)[[["]]]] で括ったものです [SRC[>>122]]。
;; [127] [[ABNF]] 構文定義上、 [CODE(ABNF)@en[[[quoted-string]]]] の[[部分集合]]ではあるものの、
そのものではありません。従って [CODE(ABNF)@en[[[quoted-pair]]]] は使えないことになりますが、
それが意図通りなのかどうかは不明です。
** メモ
,要素 ,仕様書
,[[a]] ,[HTML4]
,[[area]] ,[HTML4]
,[[link]] ,[HTML4]
[10] リンク先の資源の[[媒体型]]を示します。省略可能で、既定値は値なしです。
媒体型にはそのパラメーターも指定できます。
([HTML4] などでは不明瞭ですが、1992年くらいの古い仕様で既に媒体型パラメーターの使用例があります。)
[11] リンク先資源の転送プロトコルが媒体型 (またはそれに相当するもの)
の情報を持っている時には、この値は使われません。
そうでない時にはこの値が使えます。
また、 [[UA]] や利用者は、リンク先資源を取り寄せる前に、この属性の値を見て資源を取り寄せるか否かを判断できます。
[12] HTML の仕様書では触れられていませんが、 [[HTTP]] のように[[内容折衝]]可能なプロトコルを使う場合は、
[[Accept:]] 欄 (またはそれに相当するもの)
にこの値を使うと、リンク元資源の著者の意図に合った資源を入手できる可能性が高くなります。
逆にリンク元資源の著者は、転送プロトコルで内容折衝が行われると分かっていて、しかも特定の媒体型の版を参照したいわけではない場合は、この属性を明示し''ない''方が良いと思われます。
[13] この属性は 1992年ごろの古い仕様書に登場して使われていましたが、途中で仕様書からは一旦消滅して後に又復活しています。
かつては [[content-type]] という名前で使われていたこともあったようです。
- [26] >>10 XHTML 2.0 WD では値の型が [[HTTP]] の [[Accept:]] 欄のものになったので、この曖昧性はなくなっています。
- [29] [CODE(XPath)[[CODE(HTMLe)[[[param]]]]/@[CODE(HTMLa)[type]]]] の値に [[WinIE]] では [CODE[video/*]] みたいのが使えるらしいです。もちろん [[HTML4]] では不可。 ''TYPE Attribute | type Property (PARAM) (Internet Explorer)'' <http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/type_11.asp>
- [30] ちなみに [CODE(XPath)[[CODE(HTMLe)[param]]/@[CODE(HTMLa)[type]]]] 自体は [[WinIE6]]+ で対応っぽい。
[[#comment]]
** a 要素・link 要素 type 属性 (HTML, XHTML 1)
[52] [[HTML]] の [CODE(HTMLe)[[[a]]]] 要素・[CODE(HTMLe)[[[link]]]]
要素の [DFN[[CODE(HTMLa)[type]] 属性]]は、
[CODE(HTMLa)[[[href]]]] 属性で示したリンク先の資源の[[媒体型]]のヒントを指定します。
[110] [[スタイル・シート]]の指定のために用いる [CODE(HTMLe)@en[[[link]]]] [[要素]]の
[CODE(HTMLa)@en[[[type]]]] [[属性]]に関しては、 [[スタイル・シートの媒体型]]の項もごらんください。
[79]
仕様書:
- [[HTML 4]]
-- [CODE(HTMLa)[type]] 属性 <IW:HTML4:"struct/links.html#adef-type-A">
-- [CITE[12.3.2 Links and external style sheets]]
<IW:HTML4:"struct/links.html#linksandss">
-- [CITE[HTML 4 Changes]]
<IW:HTML4:"appendix/changes.html#h-A.1.1.8">
[[#comment]]
*** 属性値
[57] この属性の値は [CODE(SGML)[%[[ContentType]]]] です。
[[SGML]] 的には [CODE(SGML)[[[CDATA]]]] です。
HTML 4 仕様書には大文字・小文字を区別しないとなっていますが、
そうすると[[引数]]の扱いに問題があります。
詳しくは [CODE(SGML)[%[[ContentType]]]] の説明を見てください。
[58] この属性は省略可能です。
[[#comment]]
*** 応用
[53] [[UA]] が対応していない媒体型のときに内容を取りに行かずに fallback
機構を使うことが想定されています [HTML 4]。
特に[[スタイル・シート]]への [CODE(HTMLe)[link]]
では[[スタイル言語]]を表します [HTML 4]。 UA
は対応している言語だけ取りに行くようにすることで資源を節約できます。
[54] 資源をとりに行くときの [CODE(HTTP)[[[Accept]]:]]
欄の基にするのは良い考えでしょう。
[[#comment]]
*** 他との関係
[59] 媒体型によっては [CODE(MIME)[[[charset]]]] 引数がありますが、
これのヒントも与える場合は [CODE(HTMLa)[type]] 属性ではなく
[CODE(HTMLa)[[[charset]]]] 属性を使うべきでしょう。
[60] 親戚筋の属性に自然言語のヒントを指定する [CODE(HTMLa)[[[hreflang]]]] があります。
[[#comment]]
** 歴史
[61] [CODE(HTMLe)[link]] 要素の [CODE(HTMLa)[type]] 属性は
''HTML DTD with support for Style Sheets''
<http://www.w3.org/TR/NOTE-html-970531.html> で追加されました。
[[#comment]]
*** メモ
[55] 著者は実際の資源の媒体型と [CODE(HTMLa)[type]]
のヒントが整合した状態であることの責任があります [HTML 4]。
[56] よく、リンク先が [[PDF]] や [[Flash]] や [[Word]]
など HTML 以外の形式であるときに閲覧者に注意を促す記述がありますが、
著者の[[スタイル・シート]]と合わせてそのような記述を実現するためにも使えるでしょう。
[[#comment]]
** [CODE(XMLe)@en[atom:link]] 要素 [CODE(XMLa)@en[type]] 属性
[100] [[Atom 0.3]] の [[Link construct]]、[[Atom 1.0]] の [CODE(XMLe)@en[[[atom:link]]]] [[要素]]の
[DFN[[CODE(XMLa)@en[[[type]]]] [[属性]]]]は、
[[リンク先]]の[[資源]]の[[表現]]の[[媒体型]]の[[ヒント]]を表します。
[112]
:状態:[[IETF]] [[提案標準]]
:[[要素]]:[[Atom 0.3]] [[Link construct]] な[[要素]]、[[Atom 1.0]] [CODE(XMLe)@en[[[atom:link]]]]
:[[属性名]]:[CODE(XMLa)@en[[[type]]]]
:[[データ型]]:[[媒体型]]
:[[既定値]]:(なし)
*** 仕様書
-[113]
[DEL[[CITE[The Atom Syndication Format 0.3 (PRE-DRAFT)]] ([TIME[2006-12-22 17:03:44 +09:00]] 版)]]
<http://www.mnot.net/drafts/draft-nottingham-atom-format-02.html#rfc.section.3.4.2>
-[114] [CITE@en[RFC 4287 - The Atom Syndication Format]] ([TIME[2009-05-20 11:24:12 +09:00]] 版) <http://tools.ietf.org/html/rfc4287#section-4.2.7.4>
*** 属性値
**** データ型
[101] [[属性値]]は登録されている [[RFC 2045]] [SRC@en[[[Atom 0.3]]]] か
[[RFC 4288]] [SRC[[[Atom 1.0]]]] の[[媒体型]]でなければ[['''なりません''']]。
[116] [[RELAX NG]] [[スキーマ]]上の[[データ型]]は [CODE(XML)@en[[[atomMediaType]]]] です
[SRC[[[RFC 4287]] 4.2.7.]]。
**** 既定値
[102] [[Atom 0.3]] ではこの[[属性]]は[['''必須''']]です [SRC@en[[[Atom 0.3]]]]。
[115] [[Atom 1.0]] ではこの[[属性]]は[[必須]]ではありません。
*** 処理モデル
[103] [[リンク]]の [CODE(XMLa)@en[[[href]]]] [[属性値]]の [[URL]]
を[[解参照]]した場合に得られると期待される[[表現]]の[[ヒント]]として使って[['''構いません''']]。
しかし、これは実際の[[媒体型]]を上書きはしません。
[SRC@en[[[Atom 0.3]]、[[RFC 4288]] 4.2.7.3.]]
* param 要素 type 属性 (HTML, XHTML 1)
[67] [[HTML]] の [CODE(HTMLe)[[[param]]]] 要素の
[DFN[[CODE(HTMLa)[type]] 属性]]は、
[CODE(HTMLa)[[[valuetype]]]] が [CODE(HTML)[[[ref]]]]
の [CODE(HTMLa)[[[value]]]] 属性値 ([[URI参照]])
によって指された[[資源]]の[[媒体型]]を指定します。
[68] 仕様書:
[[HTML 4]] <IW:HTML4:"struct/objects.html#adef-type-PARAM">
[[#comment]]
*** 属性値
[69] この属性の値は [CODE(SGML)[%[[ContentType]]]]
です。
大文字・小文字は区別しないと HTML 4 仕様書にはありますが、
媒体型[[引数]]値を考えると区別の必要があるはずです。
[71] この属性は省略可能です。
[[#comment]]
*** メモ
[70] 他のリンク系要素の [CODE(HTMLa)[type]]
属性と同じく [[UA]] のために指定するらしいですが [SUP[ [HTML 4] ]]、
[CODE(HTMLa)[param]] [CODE(HTML)[ref]] は UA
ではなく[[物体]]の実装が解釈するので、 UA
的にはあってもあまり嬉しくないと思われます。
(HTML 仕様的には適用範囲外の方法で) UA
と物体の間の界面を通じて引き渡してこそ有意義に使われる (かもしれない)
でしょう。
* 要素内容系 [CODE(XMLa)@en[type]] 属性
** [CODE(XMLa)@en[type]] 属性 (Atom 1.0)
[111] [[Atom 1.0 [CODE(XMLa)@en[type]]]] の項を参照。
** [CODE(XMLa)@en[type]] 属性 (Atom 0.3)
[96] [[Atom 0.3]] の [[Content construct]] の
[DFN[[CODE(XMLa)@en[type]] [[属性]]]]は、
[[内容]]の[[媒体型]]を表します [SRC@en[[[Atom 0.3]]]]。
:状態:[[廃止]] → [[Atom 1.0]] [[Text construct]]/[CODE(XMLe)@en[atom:[[content]]]]
[CODE(XMLa)@en[[[type]]]]
:[[要素]]:[[Text construct]] の[[要素]]
:[[局所名]]:[CODE(XMLa)@en[[[type]]]]
:[[データ型]]:[[媒体型]]
:[[既定値]]:[CODE(MIME)@en[[[text/plain]]]]
仕様書:
[CITE[The Atom Syndication Format 0.3 (PRE-DRAFT)]] ([TIME[2006-12-22 17:03:44 +09:00]] 版) <http://www.mnot.net/drafts/draft-nottingham-atom-format-02.html#rfc.section.3.1.1>
*** 属性値
[97] [[属性値]]は[[登録]]された [[RFC 2045]] [[媒体型]]でなければ[['''なりません''']]
[SRC@en[[[Atom 0.3]]]]。
*** 既定値
[98] [[既定値]]は [CODE(MIME)@en[[[text/plain]]]] です [SRC@en[[[Atom 0.3]]]]。
*** 関連
[99] [[Atom 1.0]] では [[Text construct]] や
[CODE(XMLe)@en[atom:[[content]]]] [[要素]]の
[CODE(XMLa)@en[[[type]]]] [[属性]]に相当しますが、
[CODE(XMLa)@en[[[mode]]]] [[属性]]と統合されているので完全に同じではありません。
* スタイル・シート系 [CODE(HTMLa)@en[type]] 属性
[2] [[スタイル・シートの媒体型]]の項を参照してください。
[7] これに該当する[[属性]]には、次のものがあります。
- [CODE(HTMLe)@en[[[style]]]] [[要素]] [CODE(HTMLa)@en[[[type]]]] [[属性]] ([[HTML]]、[[SVG]] など)
- [CODE(XMLe)@en[[[layout]]]] [[要素]] [CODE(XMLa)@en[[[type]]]] [[属性]] ([[SMIL]])
- [CODE(HTMLe)@en[[[link]]]] [[要素]] [CODE(HTMLa)@en[[[type]]]] [[属性]]
([[HTML]]、 [CODE(HTMLa)@en[[[rel]]]] [[属性]]に [CODE(HTML)@en[[[stylesheet]]]]
が含まれる場合)
- [CODE(XML)@en[[[xml-stylesheet]]]] [[処理指令]] [CODE(XMLa)@en[[[type]]]] [[擬似属性]]
- [CODE(XMLe)@en[[[stylesheet]]]] [[要素]] [CODE(XMLa)@en[[[type]]]] [[属性]] ([[XBL1]])
- [[大域属性]] (?) [CODE(HTMLa)@en[[[type]]]] ([[HTML]])
* スクリプト系要素 type 属性 (HTML, XHTML 1, SVG, XBL, VoiceXML, その他)
[25] [[HTML]] の [CODE(HTMLe)[[[script]]]] 要素型をはじめとする、
各種マーク言語のスクリプト系要素型の [DFN[[CODE(HTMLa)[type]] 属性]]については、
[[スクリプトの媒体型]]の説明をご覧ください。
* 異体説明における [CODE(HTTP)@en[type]] 属性 (HTTP)
[3] [[異体説明]]における [DFN[[CODE(HTTP)@en[[[type]]]]]] [[異体属性]] [SRC[>>1]] は
[[MIME型]]を表すもので、 [CODE(HTTP)@en[[[Content-Type:]]]]
[[ヘッダー]]に相当するものです。
;; [4] ただし [CODE(HTTP)@en[[[charset]]]] [[引数]]には専用の[[異体属性]]が用意されています。
** 仕様書
[REFS[
- [1] [CITE@en[RFC 2295 - Transparent Content Negotiation in HTTP]] ([TIME[2014-08-31 19:36:42 +09:00]] 版) <http://tools.ietf.org/html/rfc2295#section-5.4>
]REFS]
** 構文
[5] 属性値は、[[MIME型]]です [SRC[>>1]]。
;; [6] [[RFC 2068]] の定義が参照されています。
* 歴史
[117] [CITE@en-GB-x-Hixie[Web Forms 2.0]]
([TIME[2009-01-05 20:07:15 +09:00]] 版)
<http://www.whatwg.org/specs/web-forms/current-work/#type>
[118] [CITE@en[HTML5 Revision Tracker]]
([TIME[2010-03-29 23:00:39 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=4878&to=4879>
[119] [CITE@en[Web Applications 1.0 r5450 Make ol'''''''''['''''''''type=x''''''''']''''''''' case-sensitive in HTML. Make <ul type='disc'> case-insensitive in XML.Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=10245]]
( ([TIME[2010-09-09 07:31:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=5449&to=5450>
[120] [CITE@en[Web Applications 1.0 r5478 Reintroduce <ol type> as conforming.Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=9798]]
( ([TIME[2010-09-25 06:59:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=5477&to=5478>
[121] [CITE[Styling – SVG 1.1 (Second Edition)]]
( ([TIME[2011-08-10 12:35:27 +09:00]] 版))
<http://www.w3.org/TR/2011/REC-SVG11-20110816/styling.html#StyleElementTypeAttribute>
[8] [CITE@en[XHTML™ 2.0 - Module Definition Conventions]]
([TIME[2010-12-17 04:25:02 +09:00]] 版)
<http://www.w3.org/TR/2010/NOTE-xhtml2-20101216/abstraction.html#dt_ContentTypes>