* object 要素 declare 属性 (HTML, XHTML 1) [1] [[HTML]] の [CODE(HTMLe)[[[object]]]] 要素の [DFN[[CODE(HTMLa)[declare]] 属性]]は、 その [CODE(HTMLe)[object]] が宣言のみであることを示します。 物体は、この宣言を参照する後の [CODE(HTMLe)[object]] で実現値化しなければなりません。 [4] [CODE(HTMLe)[object]] 宣言を使うと、 - 一つの物体から複数個の[[実現値]]を生成できます。 - しかし UA がデータを取りに行くのは1度で済みます。 - 物体の宣言以外の場所、例えば[[連結]]から物体を実現値化できます。 - [CODE(HTMLe)[[[param]]]] 要素を使った実行時引数として他の物体に引き渡せます。 [2] 仕様書: - [[HTML 4]] -- [CODE(HTMLa)[declare]] -- 13.3.4 Object declarations and instantiations [[#comment]] ** 属性値 [3] この属性は[[真偽値属性]]です。 指定すれば[[真]] (宣言のみである)、 省略すれば[[偽]] (宣言のみではない) になります。 [[#comment]] ** 応用 [6] [CODE(HTMLa)[declare]] な [CODE(HTMLe)[object]] は、 UA が読んだときに実行はされません。 後から実現値化されて実行されます。 実現値化は、その [CODE(HTMLe)[object]] を参照する要素をレンダリングする必要のある度に (その [CODE(HTMLe)[object]] を参照する[[連結]]や [CODE(HTMLe)[object]] などが[[活性化]]される度に) 行われます。 [SUP[ [HTML 4] ]] [5] [CODE(HTMLa)[declare]] に対応していない UA は、 [CODE(HTMLe)[object]] の内容をレンダリングしなければなりません [SUP[ [HTML 4] ]]。 [[#comment]] ** 他との関係 [7] 後から [CODE(HTMLe)[object]] を識別するために、 [CODE(HTMLa)[[[id]]]] 属性が必要です。 [CODE(HTMLa)[declare]] な [CODE(HTMLe)[object]] はその [CODE(HTMLe)[object]] の最初の実現値より前になければなりません。 [SUP[ [HTML 4] ]] [[#comment]] ** 例 [8] 連結によって実現値化する例 [PRE(HTML)[

The Earth as seen from space. ...later in the document...

A neat animation of The Earth! ]PRE] [WEAK[(HTML 4 仕様書より、改)]] この例では、 [Q[animation of The Earth!]] というリンクによって地球の動画を活性化することができます。 [9] 物体の実行時引数として引き渡す例: [PRE(HTML)[

...view the poem in KublaKhan.txt here...

Read KublaKhan!

]PRE] [WEAK[(HTML 4 仕様書より、改)]] (この例では [CODE(HTMLa)[[[value]]]] 属性に [[URI参照]]のような値が使われています。 しかし、 HTML 4 の [CODE(HTMLa)[[[valuetype]]]] 属性の規定を読む限りでは、 [CODE(SGML)[[[IDREF]]]] のように [SAMP[TRIBUNE]] とだけ指定しなければならないはずです。) [[#comment]] ** メモ [[#comment]] * メモ