#?SuikaWiki/0.9 *head 要素 profile 属性 (HTML, XHTML 1) [15] [CODE(HTMLa)[profile]] 属性は、 [[プロファイル]] ([[メタ情報]]の名前付き辞書) を参照するために使うことができます。 値は[[空白]]で分離した一つ以上の [[URI参照]]の並びで、 大文字・小文字が区別されます。但し、二つ目以降の URI 参照は無視されます。詳しくは >>3-14 を参照。 [16] 実際には [CODE(HTMLe)[[[head]]]] 要素の属性というよりは文書全体を通した属性とする方が適切であるので、 [[XHTML2]] では [CODE(HTMLe)[[[html]]]] 要素の属性になります。 - [17] ここで指定したプロファイルは、すべての [CODE(HTMLe)[[[meta]]]] 要素, [CODE(HTMLe)[[[link]]]] 要素に適用されます。 HTML 4 ではプロファイルは最初の1つの URI 参照しか意味を持ちませんから、そのプロファイルですべてのメタ・データ特性を定義しないといけないことになります。 [[#comment]] ** A URI or URIs? - [3] [[HTML4]] 本文では、値は複数指定できる (最初の1つしか意味は持たないが。) と明記されています: ''The global structure of an HTML document'' - [4] しかし [[DTD]] の [CODE(HTML)[%URI;]] の注釈は、 ''a'' URI になっています: ''HTML 4 Document Type Definition'' - [5] [CODE(HTML)[%URI;]] に対応する本文の説明は ''URIs'' になっていますが、複数 URI ではなく指定できる値の集合として複数形になっていると思われます (他の型や属性との関係上。): ''Basic HTML data types'' - [6] 意図的なのか誤りなのかは不明ですが、本文ではっきり複数書けると明記されていますから、 DTD が間違いの可能性が高いでしょう。 - [7] DTD の内容はほぼそのまま XHTML 1.0, XHTML m12n に受け継がれていますから、同様の問題があります。 XHTML 1 は要素の具体的定義は HTML4 参照でして、仕様書に全く明記されてないのが更に問題。 - [8] XHTML 2.0 (WD) では値の定義が ''URI'' とは別の ''URIs'' に改められているので、この問題は解決しそうです。 - [9] >>6-7 HTML4 にはないが XHTML には [CODE(HTML)[%URIs;]] 系のものがあるんだから、それを参照していないのは問題だよなあ [14] >>3-9 属性値は空白分離の URI の並びだけど、 HTML 4 では最初のものだけが意味を持つと書いてあります。 複数個の URI が書かれたときの解釈は将来の版で規定する (かもしれない) ということで、 このようなごちゃごちゃしたことになっているのでしょう。 - HTML 4 適合 UA は一つ以上の URI 参照の並びとみなすが、 意味解釈時には最初のもの以外は捨てる。 - HTML 4 文書の著者は URI 参照を一つだけ書く。 - HTML 4 妥当性検証器は複数個の URI 参照があっても妥当とするが、意味がないと警告する。 が適当な対処だと思われます。 [[#comment]] ** プロファイル [18] によれば、利用者エージェントは [CODE(HTMLa)[profile]] URI を2種類の方法で利用できます。 :大域固有名:[CODE(HTMLa)[profile]] URI を名前として扱い、そのプロファイル [WEAK[(別にそれを URL として資源取り出しに使う必要はない。)]] の知識を使って何かするとか。 [[XML名前空間]]の[[名前空間名]]のような使い方。 :[[リンク]]:[CODE(HTMLa)[profile]] URI を資源取り出しに使って、その実際の定義に基づいて何かするとか。 [19] HTML 4 でプロファイルが適用される場所: - [CODE(HTMLe)[[[meta]]]] 要素 -- [CODE(HTMLa)[[[name]]]] 属性 -- [CODE(HTMLa)[[[scheme]]]] 属性 -- [CODE(HTMLa)[[[content]]]] 属性 - [CODE(HTMLe)[[[link]]]] 要素 -- [CODE(HTMLa)[[[rel]]]] 属性 -- [CODE(HTMLa)[[[rev]]]] 属性 [CODE(HTMLe)[[[a]]]] 要素の [CODE(HTMLa)[rel]], [CODE(HTMLa)[rev]] 属性にも本来適用されるべきですよね? [[#comment]] ***相対 URI 参照 [20] HTML 4 では、[[相対URI参照]]が認められるのかどうか明記されてはいませんが、 HTML 4 における「URI」の定義からすると認められるとみなすのが適当でしょうね。 実際上は [[XML名前空間]]の[[名前空間名]]と同じように、 相対 URI 参照は使わないことにした方が都合がいいかもしれません。 [WEAK[(たとえば [[CSS]] の[[選択子]]に使うこととか考えると。)]] [21] 相対 URI 参照が使われていたとして、 何を基底としたらよいのでしょう。 [[HTTP]] や [[MIME]] のような上位プロトコルの情報はもちろん (必要なら) 使うとして、 あるいは [[XML]] 応用であれば (その定義に依っては) [CODE(XML)[[[xml]]:[[base]]]] 属性を考慮してもよいかもしれませんが、 それよりもなによりも、 HTML の [CODE(HTMLe)[[[base]]]] 要素の影響がどうなるか気になるところ。 [[#comment]] ***実際に使われている Profile - [1] ''A Meta data Profile For Using URIs As XHTML/HTML Link Types'' --[[HTML4]] で定義されている値に加えて、[[リンク型]] [CODE(HTML)[meta]] が使えます。 -->>1 の [[URI]] にある [[HTML]] 文書は、 HTML4 にないリンク型 [CODE(HTML)[made]] を使っています。 -->>1 の URI にある HTML 文書の [CODE(XPath)[head/@profile]] は です。 [[XML]] の[[名前空間]]と同じように考えれば違う文字列ですから違う profile ですが、 HTML4 の規定からはなんともいえません。 - [2] ''Link type profile'' - [10] ''math.oheya.to 関連リソース profile'' : [[satoshii]] タソの。 - [11] ''HyperRDF: Using XHTML Authoring Tools with XSLT to produce RDF Schemas'' : [[DanConnolly]] セソセイの、 [CODE(HTML)[profile]] URI を [[XML名前空間]]的に使う仕様についての考察。 - [12] : の。 - [22] ''XHTML Profiles for http://www.w3.org/'' [[#comment]] * profile 引数 (媒体型 application/xhtml+xml) - [23] [CODE(MIME)[[[application/smil+xml]]]] == [CODE(MIME)[[[application/smil]]]] にも XHTML に倣って [CODE(MIME)[profile]] 属性が用意されています。 [WEAK[(この前その [[I-D]] 和訳したのですけど、うっかり削除してしまいました。)]] [[#comment]] ** 実例 -[13] [CODE(URI)[http://www.wapforum.org/xhtml]] : [[XHTMLMobileProfile]] ( 7.2 参照) [[#comment]] *メモ