XBL (XML Binding Language) là một ngôn ngữ đánh dấu dựa trên XML để thay đổi hành vi của các thành tố điều khiển đồ họa XUL. Nó được tạo ra bởi Netscape vào cuối những năm 1990 như một phần mở rộng của XUL[1][2].
Mục đích chính sử dụng XBL là trong trình duyệt web Firefox, nhưng Mozilla đã không dùng nó vào năm 2017 và loại bỏ nó hoàn toàn khỏi Firefox vào năm 2019[3][4]. Tuy nhiên, UXP fork của Firefox dự định sẽ tiếp tục hỗ trợ XBL vô thời hạn[5].
Mozilla đã cố gắng tiêu chuẩn hóa XBL 2.0 thông qua W3C vào năm 2007[6], nhưng do không được các nhà cung cấp trình duyệt web khác quan tâm nên đã hủy bỏ nó vào năm 2012[7].
Shadow DOM thừa nhận rằng XBL có ảnh hưởng mạnh mẽ[8].
XUL xác định bố cục của giao diện người dùng trong một ứng dụng. Các quy tắc CSS có thể được sử dụng để thay đổi giao diện của các phần tử XUL khác nhau. Nhưng XBL thì cần để có thể thay đổi hành vi của một thành tố điều khiển đồ họa XUL, chẳng hạn như thanh cuộn.
Tập tin XBL chứa các liên kết, mỗi liên kết mô tả hoạt động của một thành tố điều khiển đồ họa XUL. Phần tử gốc của tập tin XBL là phần tử <bindings>
, chứa một hoặc nhiều phần tử <binding>
. Mỗi phần tử <binding>
khai báo một liên kết, có thể được gắn vào bất kỳ phần tử XUL nào. Nó cũng có thể có một thuộc tính id
. Một liên kết được gán cho một phần tử bằng cách đặt thuộc tính CSS -moz-binding
vào URL của tập tin liên kết. Ví dụ:
scrollbar {
-moz-binding: url('somefile.xml#binding1');
}