-
Notifications
You must be signed in to change notification settings - Fork 4
/
868.txt
275 lines (206 loc) · 14.6 KB
/
868.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
[107] 本項で紹介するのは、 [[MIME型]]を更に細分化したものとしての[[プロファイル]]を指定する
「[DFN[[CODE(MIME)@en[[[profile]]]]]]」です。 [[Web Linking]] における[[リンク関係型]]として、
あるいは一部の[[MIME型]]の[[引数]]として使われています。
* 仕様書
[REFS[
- [86] '''[CITE@en[RFC 6906 - The 'profile' Link Relation Type]] ([TIME[2014-03-02 17:28:52 +09:00]] 版) <http://tools.ietf.org/html/rfc6906>'''
-- [100] [CITE@en[RFC 6906 - The 'profile' Link Relation Type]] ([TIME[2014-03-02 17:28:52 +09:00]] 版) <http://tools.ietf.org/html/rfc6906#page-5>
- [113] [CITE@en[RFC 7284 - The Profile URI Registry]] ([TIME[2014-06-25 00:13:13 +09:00]] 版) <http://tools.ietf.org/html/rfc7284>
- [127] [CITE[Profile URIs]] ([TIME[2014-06-26 03:43:45 +09:00]] 版) <http://www.iana.org/assignments/profile-uris/profile-uris.xhtml>
- [120] [CITE@en[JSON-LD 1.0]] ([TIME[2014-01-13 11:01:00 +09:00]] 版) <http://www.w3.org/TR/json-ld-syntax/#application-ld-json>
]REFS]
* リンク関係型 [CODE(HTTP)@en[profile]] (Web Linking)
[114] [[リンク関係型]] [DFN[[CODE(HTTP)@en[[[profile]]]]]] は、[[対象資源]]が[[プロファイル]]であることを表します。
** 意味
[90] [DFN[[RUBYB[[[プロファイル]]]@en[profile]]]]は、[[資源]]の[[表現]]を処理するために使うことができる制約、
[RUBYB[表記法]@en[convention]]、拡張、
その他元々の[[媒体型]]の[RUBYB[[[意味]]]@en[semantics]]を変えないような追加の[[意味]]です
(変えては[['''なりません''']])。 [SRC[>>86]]
[EG[
[89] 例えば [[podcast]] 用の[[プロファイル]]の [[URL]] を [CODE(HTTP)@en[[[profile]]]]
[[リンク]]として含めることで、[[クライアント]]はそのような[[フィード]]を [[podcast]]
の[[フィード]]として普通とは違った形で処理できます。 [SRC[>>86]]
]EG]
[92] [[プロファイル]]は組み合わせて使うことができ、
その場合[[クライアント]]が対応している[[プロファイル]]についてそれぞれの異なる処理規則に従い当該[[資源]]の[[表現]]を処理することができます。
[SRC[>>86]]
[87] [[プロファイル]]は [[URI]] によって識別されます。これは[[名前空間URL]]のように[[プロファイル]]を識別するものであり、
必ずしも[[参照を解ける]][[資源]]でなくても構いません。[[クライアント]]はこれを[[リンク]]としてではなく識別子として扱う[['''べきです''']]。
[SRC[>>86]]
;; [93] [[Web Linking]] の[[リンク関係型]]として定義されているのに、[[リンク]]として扱うなとはこれいかにwwww
[88] [[プロファイル]]の [[URL]] の[[参照を解く]]ことによって[[プロファイル]]の人間可読または[[機械可読]]な説明の[[表現]]が得られるようになっていても[['''構いません''']]。
[[クライアント]]が未知の[[プロファイル]]の [[URL]] に遭遇するかもしれない状況では、
[[プロファイル]]の [[URL]] で有用な文書が得られるようにしておく[['''べきです''']]。
[SRC[>>86]]
** プロファイルと MIME 型
[94] [[媒体型]]はその意味や表記を定義するものですが、しばしば拡張性を持っています。
[[プロファイル]]は[[媒体型]]の意味は変えずに追加の意味を定義するものです。
新しい[[媒体型]]とは違って、元の意味を全部変えてしまうわけではありません。 [SRC[>>86]]
[EG[
[95] 例えば [[XHTML]] は [[XML]] に対して新しい解釈を提供していて生 [[XML]]
データを見せても意味が無いので[[プロファイル]]ではなく新しい[[媒体型]]です。
一方 [[hCard]] は [[HTML]]/[[XHTML]] の処理規則自体は変えずに追加の規則を定義しているので、
[[HTML]]/[[XHTML]] の[[プロファイル]]です。 [SRC[>>86]]
;; [96] [[RFC 6906]] 自体も「[[媒体型]]と[[プロファイル]]の境界は必ずしも明確ではない」 [SRC[>>86]]
と述べていますが、この例も必ずしも納得できるものではないように思えます。 [[hCard]]
と同じ程度に [[XHTML]] も [[XML]] の[[プロファイル]]であると [[RFC 6906]]
の定義と何ら矛盾なく主張できそうです。
]EG]
[91] [[プロファイル]]は複数の[[媒体型]]にまたがって定義されるものであっても[['''構いません''']]。
[[資源]]の複数の[[表現]]に共通して[[プロファイル]]を関連付けることもできます。
とはいえ[[クライアント]]は[[プロファイル]]を[[資源]]の[[表現]]に関連付けられたものとして扱う[['''べきです''']]。
[SRC[>>86]]
** 歴史
[REFS[
- [76] [CITE@en[draft-wilde-profile-link-01 - The \x27profile\x27 Link Relation Type]]
( ([TIME[2012-04-16 14:08:25 +09:00]] 版))
<http://tools.ietf.org/html/draft-wilde-profile-link-01>
]REFS]
** 関連
[98] >>95, >>96 で [[RFC 6906]] 自体が示唆しているように、[[プロファイル]]の仕組みは
[[XML MIME型]]に対する[[屋上屋]]のように思えます。 >>97 の提案は [CODE(MIME)@en[[[profile]]]]
[[引数]]そのものです。
[REFS[
- [97] [CITE@en[RFC 3023 - XML Media Types]] ([TIME[2014-03-08 23:18:22 +09:00]] 版) <http://tools.ietf.org/html/rfc3023#appendix-A.6>
]REFS]
;; [99] [[XML MIME型]]というか[[構造化構文接尾辞]]も [[MIME型]]に対する[[屋上屋]]なので建て増しすぎwww
* [CODE(MIME)@en[profile]] 引数 (MIME 型)
** 文脈
[102] [[プロファイル]]が使えそうな[[媒体型]]を新しく定義する時は、
[DFN[[CODE(MIME)@en[[[profile]]]]]] [[引数]]を定義する[['''べきです''']] [SRC[>>101]]。
[101] [[リンク型]] [CODE(HTTP)@en[[[profile]]]] の[[リンク]]は[[資源]]の[[表現]]に含まれるものなので、
その外側からは見えません。しかし [CODE(MIME)@en[[[profile]]]] [[引数]]があれば、
[CODE(HTTP)@en[[[Accept:]]]] [[ヘッダー]]による[[内容折衝]]などで用いることができます。 [SRC[>>100]]
[121] [[JSON-LD]] ([CODE(MIME)@en[[[application/ld+xml]]]])
はこの [CODE(MIME)@en[[[profile]]]] [[引数]]を採用しています [SRC[>>120]]。
この[[引数]]は省略可能です [SRC[>>120]]。
** 構文
[104] [CODE(MIME)@en[[[profile]]]] [[引数]]を定義する時は[[空白]]で区切った[[プロファイル]]の
[[URI]] のリストとする[['''べきです''']]。 [SRC[>>100]]
[122] [[JSON-LD]] では、このリストは、空ではないものとされています [SRC[>>120]]。
;; [105] >>104 の通りで細かい定義はありません。[[相対URL]]で良いのか、[[空白]]の種類は何かなどは決められていません。
** 関連
[103] [CODE(MIME)@en[[[profile]]]] [[引数]]を使う[[表現]]であっても、 [CODE(HTTP)@en[[[profile]]]]
[[リンク]]は含める[['''べきです''']]。これは、[[媒体型]]の[[引数]]は失われがちだからです。 [SRC[>>100]]
* プロファイル URL
[DEL[
[108] 実際の[[プロファイル]] [[URL]] は見つかっていません。
]DEL]
[109] [[RFC 6906]] は [[hCard]] と [[Dublin Core]] の [[DC-HTML]] を紹介していますが、
どちらも[[リンク関係型]] [CODE(HTTP)@en[[[profile]]]] における意味の[[プロファイル]]を定義していないので、
現時点で使うことはできません (使い方がわかりません)。
;; [110] そもそも [[Web Linking]] を採用していない [[HTML]] でどのように使うのか不明です。
[[HTTP]] [[ヘッダー]]や [[HTML]] [[エントリー]]を含む [[Atom]] [[フィード]]で使うのでしょうか。
[111] [[RFC 6906]] は [[iTunes]] の [[podcast]] の例も挙げていますが、 [[URL]]
も含めすべてが例示に過ぎず、実際に使えるものではありません。
[112] [DEL[登録簿もなく]]好きな [[URL]] を使えるようですが、どこで誰が使っているのかわかりません。
[115] 2014年6月に発行された [[RFC 7284]] は、
[[相互運用性]]のために有用である [SRC[>>114]] として、[[IANA登録簿]]
(>>127) を規定するものです。
;; [116] ただし[[適合性]]には言及していませんから、登録されていない [[URL]]
を使うことが制限されているわけではありません。
[117] [[RFC 7284]] は [DFN[[CODE(URI)[[[http://example.com/profiles/example]]]]]]
を例示しています [SRC[>>114]] が、この [[URL]] 自体は [[IANA]] に登録されていません。
かわりになぜか [DFN[[CODE(URI)[[[urn:example:profile-uri]]]]]]
を登録しています [SRC[>>114]]。
[118] [[RFC 6906]] で言及 (>>109) されていた [[DC-HTML]] の [[URL]]
[CODE(URI)[[[http://dublincore.org/documents/2008/08/04/dc-html/]]]]
が登録されています [SRC[>>114]]。ただし [[DC-HTML]] は [[HTML]] の
[CODE(HTMLa)@en[[[profile]]]] [[属性]]の値を定義するもので、 [[Web Linking]]
における用法は [[DC-HTML]] も [[RFC 7284]] も規定していません。
しかも [[HTML]] の [CODE(HTMLa)@en[[[profile]]]] [[属性]]は現行の [[HTML Standard]]
では既に削除されていて、 [[DC-HTML]] はその後メンテナンスされていない、
既に実効性のない仕様です。このような値を登録したところで、
どのように使うつもりなのでしょうか (誰か使おうと思っている人はいるのでしょうか)。
[119] [[RFC 7284]] は、更に、 [[JSON-LD]] [SRC[>>120]] を出典として3つの [[URL]]
を登録しています [SRC[>>114]]。
[FIG(list)[
- [124] [DFN[[CODE(URI)@en[[[http://www.w3.org/ns/json-ld#expanded]]]]]]
- [125] [DFN[[CODE(URI)@en[[[http://www.w3.org/ns/json-ld#compacted]]]]]]
- [126] [DFN[[CODE(URI)@en[[[http://www.w3.org/ns/json-ld#flattened]]]]]]
]FIG]
[123] [[JSON-LD]] では、[[プロファイル]] [[URL]]は[[dereference]]可能である[['''べきです''']]
[SRC[>>120]]。
[131] [CITE[Go About API — Go About 3.16.3 documentation]] ([TIME[2014-06-06 20:45:48 +09:00]] 版) <https://apidocs.goabout.com/>
では、
[CODE(URI)@en[[[http://profiles.goabout.com/]]]] からはじまる[[プロファイル]]
[[URL]] がいくつか定義されています。
* 歴史
** [CODE(MIME)@en[profile]] 引数 (HTML、SMIL)
[23]
[[XHTML]] の[[媒体型]] [CODE(MIME)@en[[[application/xhtml+xml]]]],
[[SMIL]] の[[媒体型]] [CODE(MIME)@en[[[application/smil+xml]]]],
[CODE(MIME)@en[[[application/smil]]]]
で定義されている[[引数]] [DFN@en[[CODE(MIME)@en[[[profile]]]]]]
は、[[名札付け]]された[[実体]]が使用している[[マーク付け言語]]の[[プロファイル]]を指定するものでした。
[42]
:[[媒体型]]:[CODE(MIME)@en[[[application/xhtml+xml]]]],
[CODE(MIME)@en[[[application/smil+xml]]]],
[CODE(MIME)@en[[[application/smil]]]]
:[[引数名]]:[CODE(MIME)@en[[[profile]]]]
([Q@en[[[profile]]]] ([Q@en[[[プロファイル]]]]) より)
:[[引数値]]:[[URI]]
:[[既定値]]:([[プロファイル]]指定なし)
:状態:[[IETF]] [[情報提供]] [[RFC]]
[41]
仕様書:
- [[RFC 4536]] ([CODE(MIME)@en[[[application/smil+xml]]]],
[CODE(MIME)@en[[[application/smil]]]])
<urn:ietf:rfc:4536> ([[IETF]] [[情報提供]] [[RFC]])
-- [CSECTION@en[5. The [CODE(MIME)@en[[[profile]]]] Optional Parameter]]
[43]
この[[引数]]は、[[内容折衝]]で受信側の能力を示すために使う
[WEAK[(例えば [CODE(HTTP)@en[[[Accept]]:]] で使う)]]
ことを想定しています。
特に、形式の変換を行う[[串]]が使うことを想定しています。
送信側が[[実体]]に[[名札付け]]するために使う
[WEAK[(例えば [CODE(MIME)@en[[[Content-Type]]:]]]]
で使う)]] ことは想定していません。
[SRC@en[[[RFC 4536]] 5.]]
[45]
[CODE(MIME)@en[[[profile]]]] [[引数]]は、 [[CC/PP]]
が使われるようになるまでのつなぎです。
[SRC@en[[[RFC 4536]] 5.]]
[29]
いくらつなぎ規格だからと言っても、提案している当の W3C の規格 (XHTML 1.0 とか 1.1 とか SMIL 2.0 とか SMIL Basic とか) の [CODE(MIME)[profile]] URI が規定されていないあたり、やる気がまったく感じられませぬ。
[46]
[[CC/PP]] も失敗色が。。。
[80] [CITE@en[WICD Full 1.0]]
( ([TIME[2010-08-17 16:50:22 +09:00]] 版))
<http://www.w3.org/TR/WICDFull/#identification>
[81] [CITE@en[WICD Mobile 1.0]]
( ([TIME[2010-08-17 16:50:39 +09:00]] 版))
<http://www.w3.org/TR/WICDMobile/#identification>
[84] [CITE@en[JSON-LD 1.0]]
( ([TIME[2014-01-13 20:01:00 +09:00]] 版))
<http://www.w3.org/TR/json-ld/#application-ld-json>
[85] [CITE@en[draft-wilde-atom-profile-03 - Profile Support for the Atom Syndication Format]]
( ([TIME[2014-01-22 19:21:52 +09:00]] 版))
<http://tools.ietf.org/html/draft-wilde-atom-profile-03>
*** 例
[13] [CODE(URI)[http://www.wapforum.org/xhtml]] : [[XHTML Mobile Profile]]
(<http://www.openmobilealliance.org/wapdocs/wap-277-xhtmlmp-20011029-a.pdf> 7.2 参照)
[12] <http://www.geocities.co.jp/Hollywood-Studio/8691/>: <http://math.oheya.to/dtd/geo/geo-html11.dtd> の。
[44] 例 [SRC@en[[[RFC 4536]] 5.]]
[PRE(HTTP example code)[
Accept: application/smil+xml;
profile="http://www.w3.org/2001/SMIL20/HostLanguage"
]PRE]
* 関連
[106] [[MIME型]]に対する制約としての[[プロファイル]]は、[[HTMLメタ情報プロファイル]]に関する
[CODE(HTMLe)@en[[[head]]]] [[要素]]の [CODE(HTMLa)@en[[[profile]]]] [[属性]]と
(一部の人達により半ば意図的に) 混用されました。一部の [[XHTML1]] 仕様書は、
[CODE(HTMLe)@en[[[head]]]] [[要素]]の [CODE(HTMLa)@en[[[profile]]]] [[属性]]を本項の意味に (曖昧に)
定義していまして、 [CODE(MIME)@en[[[application/xhtml+xml]]]] の [CODE(MIME)@en[[[profile]]]]
[[引数]]もそうなっています。 [[XHTML2]] の[[リンク型]] [CODE(HTML)@en[[[profile]]]] や [[Web Linking]]
の一部として提案されていた [CODE(HTTP)@en[[[Profile:]]]] [[ヘッダー]]も、そのような混用状態の延長線上にあるようです。
* メモ
[128] [CITE@en[RFC-6906-Profiles - DCMI_MediaWiki]]
( ([TIME[2014-07-01 12:46:01 +09:00]] 版))
<http://wiki.dublincore.org/index.php/RFC-6906-Profiles>
[129] [CITE@en[The ‘profile’ Link Relation and You]]
( ([TIME[2014-07-01 12:46:11 +09:00]] 版))
<http://words.steveklabnik.com/the-profile-link-relation-and-you>
[130] [CITE[JSON API :: Extending]]
( ([TIME[2014-06-09 16:18:31 +09:00]] 版))
<http://jsonapi.org/extending/>