Saltar para o conteúdo

XBL

Origem: Wikipédia, a enciclopédia livre.

XBL (XML Binding Language) é uma linguagem de marcação baseada em XML, usada para declarar o comportamento e aparência de widgets XUL e elementos XML.

XBL foi desenvolvido pelo projeto Mozilla para uso na suíte de aplicativos Mozilla, a linguagem não está descrita por qualquer padrão formal atualmente, e é, portanto, de propriedade da Mozilla, cuja única implementação atualmente é o Motor de layout Gecko. O XBL 2.0 é a nova versão do XBL, que está em via de ser padronizado pelo World Wide Web Consortium.

Básico sobre XBL

[editar | editar código-fonte]

Em XUL define-se a interface de usuário de um aplicativo, e em seguida, através da aplicação de "estilos" pode-se personalizar a aparência de vários elementos diferentes. A desvantagem é que o XUL não fornece meios para mudar a função de um elemento. Por exemplo, pode-se querer mudar a forma como as peças de uma barra de rolagem funciona. É onde entra o XBL.

Um arquivo XBL contém "ligações", cada uma das quais descreve o comportamento de um widget ou elemento XML XUL. Por exemplo, uma ligação pode ser anexada a uma barra de rolagem. O comportamento descreve as propriedades e o método da barra de rolagem e também descreve os elementos XUL definindo a barra de rolagem.

O elemento raiz de um arquivo XBL é o <bindings>, que contém um ou mais elementos <binding>. Cada <binding> declara um elemento de ligação, que pode ser anexado a qualquer elemento XUL. Ele também pode conter um atributo id. Uma ligação é atribuída a um elemento definindo a propriedade CSS -moz-binding para a URL do arquivo de ligação. Por exemplo:

scrollbar {
   -moz-binding: url('somefile.xml#binding1');
}

Onde binding1 é a id da ligação.

História e futuro

[editar | editar código-fonte]

O XBL foi inicialmente desenvolvido e implementado como parte da plataforma 'Mozilla', juntamente com a linguagem XUL, por isso o XBL está disponível na maioria dos produtos baseados no Mozilla: Firefox, Thunderbird, SeaMonkey, etc Costumava haver um documento especificando o XBL 1.0 no sitio Mozilla.org, que foi apresentado como uma nota técnica W3C, mas a implementação real nunca se pareceu com a especificação.

Uma nova versão da especificação, chamada XBL 2.0, está em desenvolvimento para enfrentar os problemas do XBL 1.0 e permitir a implementação em uma ampla gama de navegadores.

Enquanto o corpo da presente versão da especificação ter sido criada pelo Projeto Mozilla, fora do World Wide Web Consortium, como foi o caso da versão 1.0, no caso da versão 2.0 o W3C Web Application Formats Working Group está orientando a especificação ao longo da trajetória de recomendação do W3C.

A recomendação de candidatura da especificação foi lançada pelo W3C em março de 2007[1]. É especificado no documento que ela irá permanecer em fase de candidatura até duas implementações completas e interoperáveis existirem.[2]

Relacionamento com outras especificações

[editar | editar código-fonte]

A especificação sXBL destina-se a fazer pelos documentos SVG o que o XBL fez para documentos XUL. O SVG é uma linguagem XML proposta pelo W3C suportando gráficos, animações e multimídia incorporada, programação orientada a eventos|eventos e comportamento roteirizado.

O XBL 2,0 substituirá o rascunho do sXBL,[3] tal como consta no W3C Web Application Format Working Group site. Os capítulos da especificação do sXBL são um subconjunto dos do XBL 2.0.

Referências

  1. «XML Binding Language (XBL) 2.0: Call for Implementations». W3C. 16 de março de 2007. Consultado em 28 de julho de 2020 
  2. A próxima versão 1.7 do Batik, uma biblioteca Java para manipulação de conteúdo SVG têm uma implementação preliminar e quase completa da especificação sXBL, muito semelhante - embora específica para SVG - do padrão W3C que será descartado em prol do XBL
  3. Matthew Raymond (9 de setembro de 2006). «Re: A question on sXBL and XBL 2.0». public-appformats@w3.org (Lista de grupo de correio). Consultado em 28 de julho de 2020 

Ligações externas

[editar | editar código-fonte]

Documentação/implementações em navegadores

[editar | editar código-fonte]

Implementações em navegadores cruzados

[editar | editar código-fonte]