web-dev-qa-db-ja.com

WHATWG html5標準ドキュメントでidl属性はどういう意味ですか?

WHATWGを読んでいる間 HTML5-Web開発者向けの技術仕様 次のような多くの参照があります。

IDL属性にコンテンツ属性を反映する

一部のIDL属性は、特定のコンテンツ属性を反映するように定義されています。これは、取得時にIDL属性がコンテンツ属性の現在の値を返し、設定時にIDL属性がコンテンツ属性の値を指定された値に変更することを意味します。

そして:

適合文書では、本体要素は1つだけです。 document.body IDL属性は、ドキュメントのbody要素に簡単にアクセスできるスクリプトを提供します。

Body要素は、イベントハンドラーのコンテンツ属性として、Windowオブジェクトのいくつかのイベントハンドラーを公開します。また、イベントハンドラーのIDL属性も反映しています。

私の(確かにあいまいな)理解は、Windowsの世界から来ています。 .idlファイルは、n層分散アプリでリモートプロシージャコールをマップするために使用されると思います。 content属性はhtml要素の属性を参照していると思います。

「コンテンツ属性」と「IDL属性」という用語のこの使用法を説明する標準には、私が見ることができる場所はありません。これらの用語の意味と、2種類の属性がどのように関連しているかを誰かが説明できますか?

44
Sinthia V

IDL( インターフェイス定義言語 )は Web IDL 仕様に由来します:

このドキュメントでは、Webブラウザに実装することを目的としたインターフェイスを記述するために使用できるインターフェイス定義言語WebIDLを定義しています。 Web IDLは、Webプラットフォームでの一般的なスクリプトオブジェクトの動作をより簡単に指定できるようにする多くの機能を備えたIDLバリアントです。 Web IDLで記述されたインターフェースが、ECMAScript実行環境内の構成にどのように対応するかもこのドキュメントで詳しく説明されています。

コンテンツ属性は、マークアップに表示される属性です。

<div id="mydiv" class="example"></div>

上記のコードでは、idclassは属性です。通常、コンテンツ属性には対応するIDL属性があります。

たとえば、次のJavaScript:

document.getElementById('mydiv').className = 'example'

classcontent属性を設定するのと同じです。

JavaScriptテキストでは、IDL属性はDOMオブジェクトのプロパティとしてJavaScriptに公開されるため、プロパティと呼ばれることがよくあります。

通常、コンテンツ属性とIDL属性/プロパティの対応するペアがありますが、必ずしも互換性があるとは限りません。たとえば、<option>要素:

  • コンテンツ属性selectedは、オプションのinitial状態を示します(ユーザーがオプションを変更しても変更されません)。
  • プロパティselectedは、コントロールのcurrent状態を反映します
55
robertc