[107] 本項で紹介するのは、 [[MIME型]]を更に細分化したものとしての[[プロファイル]]を指定する 「[DFN[[CODE(MIME)@en[[[profile]]]]]]」です。 * リンク関係型 [CODE(HTTP)@en[profile]] (Web Linking) ** 仕様書 [REFS[ - [86] [CITE@en[RFC 6906 - The \x27profile\x27 Link Relation Type]] ([TIME[2014-03-02 17:28:52 +09:00]] 版) ]REFS] ** 意味 [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]] ** プロファイル URL [108] 実際の[[プロファイル]] [[URL]] は見つかっていません。 [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] 登録簿もなく好きな [[URL]] を使えるようですが、どこで誰が使っているのかわかりません。 ** 歴史 [REFS[ - [76] [CITE@en[draft-wilde-profile-link-01 - The \x27profile\x27 Link Relation Type]] ( ([TIME[2012-04-16 14:08:25 +09:00]] 版)) ]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]] 版) ]REFS] ;; [99] [[XML MIME型]]というか[[構造化構文接尾辞]]も [[MIME型]]に対する[[屋上屋]]なので建て増しすぎwww * [CODE(MIME)@en[profile]] 引数 (MIME 型) ** 仕様書 [REFS[ - [100] [CITE@en[RFC 6906 - The \x27profile\x27 Link Relation Type]] ([TIME[2014-03-02 17:28:52 +09:00]] 版) ]REFS] ** 文脈 [102] [[プロファイル]]が使えそうな[[媒体型]]を新しく定義する時は、 [DFN[[CODE(MIME)@en[[[profile]]]]]] [[引数]]を定義する[['''べきです''']] [SRC[>>101]]。 [101] [[リンク型]] [CODE(HTTP)@en[[[profile]]]] の[[リンク]]は[[資源]]の[[表現]]に含まれるものなので、 その外側からは見えません。しかし [CODE(MIME)@en[[[profile]]]] [[引数]]があれば、 [CODE(HTTP)@en[[[Accept:]]]] [[ヘッダー]]による[[内容折衝]]などで用いることができます。 [SRC[>>100]] ** 構文 [104] [CODE(MIME)@en[[[profile]]]] [[引数]]を定義する時は[[空白]]で区切った[[プロファイル]]の [[URI]] のリストとする[['''べきです''']]。 [SRC[>>100]] ;; [105] >>104 の通りで細かい定義はありません。[[相対URL]]で良いのか、[[空白]]の種類は何かなどは決められていません。 ** 関連 [103] [CODE(MIME)@en[[[profile]]]] [[引数]]を使う[[表現]]であっても、 [CODE(HTTP)@en[[[profile]]]] [[リンク]]は含める[['''べきです''']]。これは、[[媒体型]]の[[引数]]は失われがちだからです。 [SRC[>>100]] * [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]]]]) ([[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.]] [[#comment]] ** 関連 [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]] 版)) [81] [CITE@en[WICD Mobile 1.0]] ( ([TIME[2010-08-17 16:50:39 +09:00]] 版)) [84] [CITE@en[JSON-LD 1.0]] ( ([TIME[2014-01-13 20:01:00 +09:00]] 版)) [85] [CITE@en[draft-wilde-atom-profile-03 - Profile Support for the Atom Syndication Format]] ( ([TIME[2014-01-22 19:21:52 +09:00]] 版)) ** 例 [13] [CODE(URI)[http://www.wapforum.org/xhtml]] : [[XHTML Mobile Profile]] ( 7.2 参照) [12] : の。 [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:]]]] [[ヘッダー]]も、そのような混用状態の延長線上にあるようです。