Есть несколько проблем:
Прежде всего в main.css вы определяете класс okcancelbuttons
, а в main.xul вы ссылаетесь на класс labeledbutton
.Класс может называться так же, как и привязка.
Во-вторых, main.xml просто не является допустимым xml (самый простой способ проверить это загрузить его в firefox, и он выдаст ошибки).Ему нужны атрибуты xmlns
для каждого пространства имен, которое вы используете.В этом случае «основное» пространство имен, xbl и xul.Они должны быть определены в отсутствующем элементе <bindings>
вокруг элемента <binding>
.
В итоге все будет так:
main.xml
<?xml version="1.0"?>
<bindings xmlns="http://www.mozilla.org/xbl"
xmlns:xbl="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<binding id="labeledbutton">
<content>
<xul:label xbl:inherits="value=title"/>
<xul:label xbl:inherits="value"/>
</content>
<implementation>
<method name="showTitle">
<parameter name="state"/>
<body>
if (state) document.getAnonymousNodes(this)[0].
setAttribute("style","visibility: visible");
else document.getAnonymousNodes(this)[0].
setAttribute("style","visibility: collapse");
</body>
</method>
</implementation>
</binding>
</bindings>