[15] HTML の head
要素の
profile
属性は、
プロファイル (メタ情報の名前付き辞書)
を参照するために使うものでした。
[34] 値は空白で分離した一つ以上の URI参照の並びで、 大文字・小文字が区別されます。但し、二つ目以降の URI 参照は無視されます。詳しくは >>3-14 を参照。
[17] ここで指定したプロファイルは、すべての meta
要素,
link
要素に適用されます。 IW:HTML4:"struct/global.html#edef-META" HTML 4 ではプロファイルは最初の1つの URI 参照しか意味を持ちませんから、そのプロファイルですべてのメタ・データ特性を定義しないといけないことになります。
%URI;
の注釈は、 a URI になっています: HTML 4 Document Type Definition IW:HTML4:"sgml/dtd.html#URI"%URI;
に対応する本文の説明は URIs になっていますが、複数 URI ではなく指定できる値の集合として複数形になっていると思われます (他の型や属性との関係上。): Basic HTML data types IW:HTML4:"types.html#type-uri"%URIs;
系のものがあるんだから、それを参照していないのは問題だよなあ[14] >>3-9 属性値は空白分離の URI の並びだけど、 HTML 4 では最初のものだけが意味を持つと書いてあります。 複数個の URI が書かれたときの解釈は将来の版で規定する (かもしれない) ということで、 このようなごちゃごちゃしたことになっているのでしょう。
が適当な対処だと思われます。
[25] ちょっとしたメモ - 困ったちゃんのprofile属性 http://www.kanzaki.com/memo/2004/03/17-1
これと同じ話。 (名無しさん 2004-03-18 01:10:42 +00:00)
[35] 複数の URI 参照が認められるとすると、 相互の関係が問題になってきます。 XMDP XMDP は、 HTML 4 が最初の URI 参照だけを使用すると規定していることから、 最初の URI 参照のプロファイルが一番優先度が高く、 最後の URI 参照のプロファイルが一番低いと解釈する (同じ語彙が複数のプロファイルで定義されていれば、最初の方のものとみなす) ことを提案しています。
[36]
HTML 4.0 で object
要素の archive
属性が %URI
なのは間違いで、
複数の URI 参照を書けるとして HTML 4.01
で CDATA
に修正されました
HTML 4.01 A.1.1.14。
profile
属性も同様に間違いで見落としただけの可能性があります。
[37]
Gecko の DOM で head
要素の
profile
DOM 属性を取得すると絶対URI参照が得られますが、
間隔は %20
になります。
どうやら Gecko は a URI
として実装しているようです。
WinIE 6 は
profile
DOM 属性で要素属性の値が得られるのでどう考えているのかは分かりません。
(名無しさん 2005-05-07 05:56:20 +00:00)
[38] Opera 8 も WinIE 6 と同じ結果。 (名無しさん 2005-05-07 05:57:47 +00:00)
[39] Bjoern Hoehrmannが、いつまで種々の問題を放置しておく気だよとTAGの公開メイリング・リストで指摘しました。
それに対してSteven Pembertonは、問題は解決したけど追跡システムで閉じておくのを忘れただけだと書きました。
そしてその後、追跡システムには
The datatype for the profile was indeed changed to URI in M12N on purpose, specifically so that it would be possible to use it as a possible means to identify compound document profiles in the future.
profile
のデータ型は確かにURIに変更されたが、これは特に将来複合文書プロファイルの識別に使えるようにと考えてのことだ。
というメモが書かれたようです。
(名無しさん 2006-02-15 08:18:17 +00:00)
[40]
http://htmlwg.mn.aptest.com/cgi-bin/voyager-issues/Modularization-abstractions?id=8168
のコメントは変わっていませんが、 XHTML m12n 1.1 LC WD
は URIs
に変えちゃってます。
XHTML Modularization 1.1 - XHTML Abstract Modules http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705/abstract_modules.html#s_structuremodule (名無しさん 2006-07-07 15:25:28 +00:00)
[47] >>39 確かに DTD モジュール IW:XHTML1m12n:"dtd_module_defs.html#dtdelement_head.qname" には、
<!-- reserved for future use with document profiles --> <!ENTITY % profile.attrib "profile %URI.datatype; '%XHTML.profile;'" >
とあります。
XHTML m12n の profile
は HTML 4 の profile
とは別の属性のようです。
[51]
>>47 のような定義になっており、かつ XHTML 1.1 や
XHTML-Print のDTD駆動器では %XHTML.profile;
が空文字列として定義されているので、それらの DTD
を参照している文書では
profile
属性の既定値は空文字列になってしまいます。属性値は URI
らしいので、基底URIが文書プロファイルとやらとして指定されていることになってしまいます。
(名無しさん)
[57] [markup]head要素のprofile属性 http://web.g.hatena.ne.jp/vantguarde/20070516#1179298617
(名無しさん 2007-05-17 11:12:12 +00:00)
[18] IW:HTML4:"struct/global.html#profiles"
によれば、利用者エージェントは profile
URI を2種類の方法で利用できます。
profile
URI を名前として扱い、そのプロファイル (別にそれを URL として資源取り出しに使う必要はない。) の知識を使って何かするとか。 XML名前空間の名前空間名のような使い方。profile
URI を資源取り出しに使って、その実際の定義に基づいて何かするとか。[19] HTMLメタ情報プロファイルの項もご覧下さい。
[20] HTML 4 では、相対URI参照が認められるのかどうか明記されてはいませんが、 HTML 4 における「URI」の定義からすると認められるとみなすのが適当でしょうね。
実際上は XML名前空間の名前空間名と同じように、 相対 URI 参照は使わないことにした方が都合がいいかもしれません。 (たとえば CSS の選択子に使うこととか考えると。)
[21] 相対 URI 参照が使われていたとして、
何を基底としたらよいのでしょう。
HTTP や MIME
のような上位プロトコルの情報はもちろん
(必要なら) 使うとして、
あるいは XML 応用であれば
(その定義に依っては) xml:base
属性を考慮してもよいかもしれませんが、
それよりもなによりも、 HTML
の base
要素の影響がどうなるか気になるところ。
[27]
base
要素の規定
(IW:HTML4:"struct/links.html#h-12.4") には、
profile
への適用を妨害するものは何もないようです。
但し、相対URI参照よりも base
要素による基底URI の定義は文書順で先に無ければならないことになっていますが、
base
要素を head
要素よりも前に持ってくることは不可能です。
[1] HTMLメタ情報プロファイルに移動しました。
[33] 仕様書:
[12] W3C HTML WG (当時、後の XHTML2 WG) は XHTML で少し異なる意味に「プロファイル」を置き換えることを試みました。 これは SMIL や XHTML2 のような他の XML マーク付け言語にも適用されました。 しかしあくまで W3C 内の理論的なものに過ぎず、実際に使うために十分な規定はなされず実装不能でした。
[13] その延長線上にある定義が時代はかなり後になってなぜか IETF で Web Linking フレームワーク上に再登場したり、 JSON-LD で採用されたりしています。
[32] RFC 4536: The application/smil and application/smil+xml Media Types, https://www.rfc-editor.org/rfc/rfc4536.html#section-5
html
要素時代[16] 実際には head
要素の属性というよりは文書全体を通した属性とする方が適切であるので、
XHTML 2 の最初の作業原案では html
要素の属性になっていました。
[65] 最初の作業原案での規定内容は HTML4 の頃とほとんど同じで、複数の URL
を指定しても最初のものだけ使えるという点も同じでした (構文は1つの URL になっていました)。
例示中で head
要素に属性が指定されているものが残っていたりもしました。
[66] 第5次案で属性型が複数の URL に変更されました。 (意味的には依然、予約のままでした。)
[49] XHTML2 第6次案で html
要素の
version
属性は削除されました。
代わりに html
には version
属性が追加されると共に、大域属性 rel
の値に QName profile
が追加されました。
profile
は過去の定義の面影を残してはいるものの、
「Refers to a document that defines relationships or provides metadata, for instance in RDF, about the document.」
ともされており、HTML4 の定義とはもはや違うもののようにも思えます。
head
要素時代[67] しかしその後の XHTML2 編集者案でなぜか head
要素に復活しています。
[22] RDFa は profile
属性を (RDFa が定義する属性として)
任意の要素で利用できるように拡張することを試みました。
[24] その属性は当時の RDFa 仕様上の概念である「RDFa Profiles」
を指定するものでした >>23。これはその後の仕様における「initial context」>>26
に相当するものです (2011年3月の WD >>23 を最後に profile
属性が削除され、 evaluation context との整合性から改称されたようです)。
[28] 旧 XHTML2 WG の流れを汲む RDFa WG の仕様ですが、 HTML4
の本来の profile
属性とも XHTML における XHTML2 WG
の解釈による profile
属性とも意味が異なるもので
(当事者は XHTML2 WG の属性と同じ意味と解釈していた可能性はあります)、
既存の HTML文書との互換性を一切考慮せず既存の属性の名前だけ借りて似て非なるコンセプトに置き換える
RDFa の設計方針の見本のような存在の一つでした。
[30] なお、 RDF WG は RDFa のこの仕組みを RDF または Turtle に取り込むことも検討していたようです >>29 が、実現していません。
[53]
profile
URI が指すものは実質的に未定義でしたが、
Tantek Çelik は 2003年、 XMDP という書式を提案します。
XMDP は HTML をベースにした書式で、
プロファイルを記述するための要素や
class
属性の使い方を定めていました。
[54]
更に、 HTML 4 で挙げられた meta
name
やリンク型だけではなく、
クラス名をもプロファイルとして定義することが提案されました。
XMDP は microformats の記述言語として、
またそれ自体が最初の microformats
として注目されることになります。
[55]
Web Applications 1.0 は当初から profile
属性についての部分で XMDP に言及していました。
2004年末頃 (要確認) に profile
属性が正式に再定義されましたが、 microformats
をはじめとした profile
属性の再評価を踏まえ、より詳細な定義が与えられていました。
例えば、 HTML 4 は複数の URI を指定することを認めていましたが、 その意味は未定義としていました。 Web Applications 1.0 は複数の URI が指定された時のリンク型などの解釈を定めました。
[56]
ですが、 profile
属性はその後もよく使われるようにはなりませんでした。
microformats の XMDP プロファイルも、
URI を指定可能な形では提供されておらず、
事実上使われていませんでした。
[52]
結局 profile
属性は2006年12月頃に
Web Applications 1.0 (HTML 5) から削除されました。
Ian Hickson は、2年前に HTML 5
で HTML 4 より厳密に profile
を定義し直したが、結局誰も使っていない、
profile
は機能しなかった、
と説明しています。
(名無しさん 2006-12-12 08:44:32 +00:00)
[61]
profile
属性は HTML 5 revision 422 で削除されました。
(X)HTML5 Tracking (2008-03-22 12:01:27 +09:00
版) http://html5.org/tools/web-apps-tracker?from=421&to=422
(名無しさん)
[62]
profile
属性は HTML 5 revision 422 で削除されました。
(X)HTML5 Tracking (2008-03-22 12:01:27 +09:00
版) http://html5.org/tools/web-apps-tracker?from=421&to=422
[79] HTTP ヘッダーとして Profile:
が提案されたこともありました >>78 が、後の案で削除されています。
profile
をみる実装があるのか?[50]
XHTML-Print (2006-09-25 23:44:03 +09:00
版) http://www.w3.org/TR/2006/REC-xhtml-print-20060920/#s3.2
XHTML-Print は XHTML m12n 1.0 に基づくプロファイルで、
profile
の属性値を (XHTML m12n 1.0
同様に) URI 型としています。
profile
の実装は MAY
ですが、メタデータに対応する印刷機は対応しなければならない
(MUST) としています。
メタデータに対応する
とはどういうことか、
profile
に対応する
とはどういうことかは明らかではありません。
DTD 実装は当然 XHTML m12n 1.0 のモジュールを採用しています。
その DTD モジュールで profile
の既定値とされている引数実体 %XHTML.profile;
は、 XHTML-Print の DTD駆動器でも XHTML 1.1
同様に空文字列になっており、実体宣言直前の注釈にはやはり将来利用するため予約
と書かれています。
profile
引数の方のために定義されているプロファイル URI
がここで使われていないのが謎です。(名無しさん)
[58]
userstyles.org (2007-06-24 15:42:12 +09:00
版) http://userstyles.org/
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head profile="http://a9.com/-/spec/opensearch/1.1/ http://userstyles.org/stylish/metaprofile">
(名無しさん)
[59]
GRDDL WG: Do not deprecate the profile attribute (Harry Halpin 著, 2007-07-25 10:02:41 +09:00
版) http://lists.w3.org/Archives/Public/public-xhtml2/2007Jul/0037.html
(名無しさん)
[60]
XHTML2 WG Weekly Teleconference -- 19 Sep 2007 (2007-09-20 23:13:51 +09:00
版) http://www.w3.org/2007/09/19-xhtml-minutes#item02
(名無しさん)
[63]
HTML4's profile="" attribute's absence in HTML5 (Ian Hickson <ian@...> 著, 2008-05-07 00:35:50 +09:00
版) http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/14009
(名無しさん)
[64] Transition Request: Implementation Report and Request for Advancement of GRDDL to Proposed Recommendation ( 版) http://www.w3.org/2001/sw/grddl-wg/prrequest
[68] (X)HTML5 Tracking ( 版) http://html5.org/tools/web-apps-tracker?from=3682&to=3683
[69] (X)HTML5 Tracking ( 版) http://html5.org/tools/web-apps-tracker?from=3904&to=3905
[70] (X)HTML5 Tracking ( 版) http://html5.org/tools/web-apps-tracker?from=3947&to=3948
[71] Extended Processing Behavior in HTML5 ( 版) http://html5.digitalbazaar.com/specs/html5-epb.html
[72] HTML5 Revision Tracker ( 版) http://html5.org/tools/web-apps-tracker?from=4985&to=4986
[73] HTML5 Revision Tracker ( 版) http://html5.org/tools/web-apps-tracker?from=5062&to=5063
[74] HTML5 Revision Tracker ( 版) http://html5.org/tools/web-apps-tracker?from=5065&to=5066
[75] HTML5 Profiles ( 版) http://dev.w3.org/cvsweb/~checkout~/html5/profiles/drafts/ED-html5-profiles-20100522/Overview.html?content-type=text/html;%20charset=utf-8
[77] Web Application Description Language ( ( 版)) http://www.w3.org/Submission/2009/SUBM-wadl-20090831/#x3-230002.11.2
[82] 518110 – nuke HTMLBaseFontElement interface ( ( 版)) https://bugzilla.mozilla.org/show_bug.cgi?id=518110
[83] Chrome はまだ profile
IDL属性を持っています。
[84] SearchMonkey vocabularies - YDN ( ( 版)) http://web.archive.org/web/20110510141358/http://developer.yahoo.com/searchmonkey/smguide/profile_vocab.html