#?SuikaWiki/0.9 * id 属性 (HTML, XHTML 1) [9] [CODE(HTMLa)[id]] [[属性]]は、 [[HTML]] のほとんどの[[要素型]]で定義されています。 この属性は、[[要素]]に[[名前]]を割り当てます。 名前は[[文書]]内で固有である必要があります。 を参照。 HTML 4 的には [CODE(SGML)[%[[name]]]] 型、 [[SGML]] 的には [CODE(SGML)[[[ID]]]] 型です。 [10] 仕様書 では、この属性の値の役割として、 - [[スタイル・シート]]の[[選択子]]。 - [[スクリプト]]から特定の要素を参照する手段。 - 宣言済み [CODE(HTMLe)[[[object]]]] 要素の名前。 - [[UA]] の一般目的処理のため。たとえば、次の時の欄の識別。 -- HTML から [[DB]] にデータを取り出すとき -- 他の書式に HTML 文書を翻訳するとき - [[リンク]]の[[終点アンカー]]の識別子 を挙げています。 [4] [[HTML]] の id 属性値の取りうる値: -draft HTML 3.0: [A-Za-z][A-Za-z0-9.-]* --IETF HTML 2.x: [A-Za-z][A-Za-z0-9.-]* -W3C HTML4: [A-Za-z][A-Za-z0-9._:-]* -W3C XHTML: \{名前開始文字}\{名前文字}* -\{名前開始文字} = \{基底文字} | \{漢字} | : | _ -\{名前文字} = \{基底文字} | \{合成文字} | \{漢字} | \{数字} | : | _ | - | . | \{文字に準じるもの} ** 大文字と小文字 [11] (HTML は、大文字・小文字を区別しない(たぶん)。) ([[XHTML]] は、大文字・小文字を区別する。) [1] >>11 HTML でも大文字・小文字が区別されるという話がありますが、どうなんでしょう? [5] >>1 IETF/W3C HTML の [[SGML宣言]]によれば、 [[名前]]の大文字と小文字は区別されません。 (大文字に正規化されます。) 実装には区別するものもきっとあるんでしょうが。。。 [12] >>11,>>1,>>5 この問題 (通称[[噂のid問題]]) は非常に難しい状態にあることがわかっています。 [[#comment]] ** 実装状況 - [7] [[NC]] は (少なくても 4.01 は) [CODE(HTML)[id]] 属性に対応していません。 [[#comment]] ** メモ [[#comment]] * id 属性 (XML 型録) [6] [[XML]] [[型録]]の要素型 ([[名前空間名]]が [CODE(URI)[[[urn:oasis:names:tc:entity:xmlns:xml:catalog]]]] 及び [CODE(URI)[[[urn:oasis:names:tc:entity:xmlns:tr9401:catalog]]]] の全ての要素型) には [CODE(XML)[id]] 属性 (型 = [CODE(XML)[[[ID]]]]) が存在します。 この属性は型録的には意味が無く、単に識別のためだけにあります。 省略可能です。 [[#comment]] * メモ - [2] しっかし、なんで [[XML]] つくる時に [CODE[xml:id]] 属性つくんなかったんかなあ。 - [8] >>2 そのうち出来る。はず。多分。てゆかさっさと出来てくれ。 - [3] ''を使おう(1)'' : [[XPath]] の [CODE(XPath)[[id()]] 関数について。