- [1] ''XulPlanet.com -'' : [[Visual]] な XBL editor。
- [2] ''XBL - XML Binding Language''
- [3] ''Surfin' Safari'' : XBL と [[XSLT]] の比較。 XBL と XSLT は全然違うものだけど、 XBL で出来ることは一見 XSLT でもできて、 XBL は不要なようにも思える。そんな意見を斬っている。
- [4] >>3
- [5] >>3 [WEAK[もちろんそれの著者は分かっているんだけど、]] XBL と XSLT は対立するものじゃなくて、用途に応じて使い分けるものだよね。 XSLT と [[CSS]] が対立するものではないように。だから、 XSLT + CSS + XBL という使い方も十分ありえるわけ。
[6]
''SVG's XML Binding Language (sXBL)''
汎用の XBL 2.0 が W3C SVG WG で準備中だそうです。。。
([[名無しさん]] [WEAK[2004-09-07 03:36:07 +00:00]])
[7]
''XBL (Extensible Binding Language) 1.0''
Mozilla.org の XBL 1.0 の解説。
([[名無しさん]])
[8]
[[Gecko]] の [CODE(CSS)[[[-moz-binding]]]] で縛った XBL は[[文書順]]ないし表示した状態の上から順番に処理されていくわけじゃなくて、何かの順番 (無作為なのか、というよりもむしろレンダリング中の何かの作業をした順なのか) で処理されていくっぽい。
ためしに連番を振らせてみるとわかる。
でももしかすると、実行開始は同時だけど並行処理の結果連番用の変数に access するところに到達するまでの順番が狂ってるのかもしれん。
ところでそうすると、安全を求めるならスクリプト内で [[lock]] とかせねばならぬということか? その辺どういう実装になってるんだ?
([[名無しさん]] [Firefox 0.9])
[9]
[[Gecko]] では[[フォーム]][[制御子]]は一部
[[XBL]] で実装されています。ですから、
それに何かを追加しようとして
[PRE(CSS example)[
[SAMP(HTMLe)[textarea]] {
[[-moz-binding]]: url([VAR[foo]]#[VAR[bar]]);
}
]PRE]
なんてしちゃうと、本来の機能を殺してしまいます。
例えば [CODE(HTMLe)[textarea]] の場合は矢印鍵による文章内の移動ができなくなってしまいます。
これを回避するためには、
[CODE(XMLe)[[[binding]]]] 要素に
[CODE(XMLa)[[[extends]]]] 属性を指定して、
既存の XBL を継承するという形にしてやります。
[CODE(XMLa)[extends]] 属性の値は XBL
の [[URI参照]]か、 [[QName]]
だそうで、 QName の場合はその QName
の要素型の機能を継承するということらしいですが、
うまく動作しないという話もありますし、
実際動きませんでした。
[WEAK[(そもそも本質的に区別できない URI 参照と QName を同じ属性の値にするなというのもある。)]]
ということで、 [CODE(XMLa)[extends]]
にはブラウザの既定のスタイル・シートで指定された束縛の
URI 参照 [WEAK[([SAMP(URI)[[[resource]]:]] なんちゃら)]]
を指定することになります。
ただし、これが過去から将来までのすべての
Gecko 系ブラウザで機能するのかというと、
甚だ怪しい。しかも XBL
でエラーが発生すると何も言わずに束縛された要素が非表示になってしまうから困ります。
ちなみに、 [SAMP(HTMLe)[textarea]]
の場合、 [[Firefox]] では元々の XBL
束縛先は
[SAMP(URI)[resource://gre/res/builtin/platformHTMLBindings.xml#textAreas]]
でした。
しかし古い [[Mozilla Suite]]
(最近の Mozilla Suite は未調査)
ではこれは存在せず、
[SAMP(URI)[resource:///res/builtin/platformHTMLBindings.xml#textAreas]]
と指定すれば Mozilla Suite
でも Firefox でも動くようです。
([[名無しさん]] [WEAK[2005-03-09 08:11:36 +00:00]])
[10]
なお、 >>2 や >>7 の XBL 1.0 は古い文書で、
今の Gecko の実装とは違っているところが色々あります。
[[XUL Planet]] の tutorial や reference
を見た方が良いです。
[CITE[10.1 - Introduction to XBL]]
([[名無しさん]] [WEAK[2005-03-09 08:15:50 +00:00]])
[11]
[CITE[Index of /specs/xbl]]
([[名無しさん]])