XML Binding Language (XBL, 時おり、拡張可能なバインディング言語 (Extensible Bindings Language) とも呼ばれます) は、他のドキュメント内の要素にアタッチできるバインディングを記述する言語です。バインディングがアタッチする要素は、「XBL に結び付けられた要素」と呼ばれ、 バインディングで定義された新しいビヘイビア (振る舞い) を持ちます。
バインディングは、XBL に結び付けられた要素に登録されたイベントハンドラ、XBL に結び付けられた要素からアクセス可能な新しいメソッドとプロパティの実装、そしてXBL に結び付けられた要素の下に挿入される匿名コンテントを含むことができます。
ほとんどの XUL ウィジットは少なくとも部分的に XBL を使って実装されています。既存の XUL や HTML、SVG、そして XBL を使った他の基本実装からあなた自身の再利用可能なウィジットを作ることができます。
仕様
- XBL 1.0 は XBL 1.0 リファレンス で定義されています。残念ながら Mozilla の実際の実装はその仕様とは異なり、その違いを述べた既知の文書はありません。うまくいけば、リファレンスが更新されて、それらの違いについての説明が加えられることでしょう。
XBL 1.0 は Mozilla だけの技術で W3C 標準ではありません。しかし、少なくとも 2 つの標準が作業中です。それらは sXBL と XBL 2.0 です。 - W3C sXBL (現在公開されている草案は 2005 年のもの) は「SVG's XML Binding Language」の略です。これには、SVG に必要な XBL 2.0 の機能のサブセットが含まれることが期待されています。概念上は Mozilla の XBL と同じですが、いくつか微妙な (そして、あまりに微妙でない) 違いがあります。 例えば、要素の名前は異なっています。 また、バインディングの継承や、結びつけられた要素へのメソッドやプロパティの定義といった XBL が持ついくつかの機能がありません。
- XBL 2.0 (W3C における草案) は、XBL 1.0 で見つけられた問題を解決し、より広範な Web ブラウザの実装を考慮するために開発されています。Mozilla は XBL2 を Gecko の将来のバージョンに実装する予定です。
sXBL と XBL2 のいくつかの違いは Anne van Kesteren 氏の記事 (2005/11) にリストされています。
Mozilla の XBL と XBL2 の違いについては、Jonas Sicking によるニュースグループへの投稿 (2007/04) で説明されています。
参照
- XUL チュートリアル の XBL 入門
- "Rapid Application Development with Mozilla" の XBL 章 【訳注: 英語】
- XBL 2.0 Primer (草案)
コミュニティ
- Mozilla フォーラムを見る...