Ir para o conteúdo

 Voltar a Linguagem NCL
Tela cheia

Atributo "externable" na tag Property

31 de Maio de 2011, 9:07 , por Desconhecido - | 1 Pessoa seguindo este artigo.
Visualizado 25 vezes

Olá pessoal,

A norma 15606-7, em sua seção 5.9.1, faz referência ao atributo "externable", um booleano que assume falso quando "a property não foi explicitamente declarada" ou true "quando a mesma é explicitamente declarada". 

Não consegui encontrar uma utilidade para este parâmetro no código NCL, uma vez que o ato de declarar uma propriedade "pré-existente" em uma tag <property> já deveria setar no middleware este parâmetro "externable" para true (de acordo com o meu entendimento). 

Caso alguém já tenha utilizado ou tenha mais informações sobre este atributo, poderia por favor postar mais detalhes? Procurei referências na norma e nos guias, mas o atributo sequer aparece na maioria da documentação, nem mesmo no livro "Programando em NCL 3.0" há referência a este atributo. Só tomei conhecimento do mesmo quando baixei os novos arquivos xsd e encontrei o atributo declarado em NCLPropertyAnchor.xsd.

Obrigado!

Andre Luis

Autor: Andre Bald


33 comentários

  • 5df5d8eeb3770422cc9c42a466faee62?only path=false&size=50&d=404Roberto Azevedo(usuário não autenticado)
    31 de Maio de 2011, 11:31

     

    Olá André,

     este atributo não existe na versão 3.0 da NCL e foi adicionado na versão 3.1 (a versão padronizada no ITU-T). Acredito que ele foi adicionado na Norma brasileira para manter compatibilidade com a do ITU.

      Este atributo é útil apenas se vc quiser declarar uma propriedade que não seja acessível de fora do objeto (i.e. por meio de links). Por exemplo, eu poderia criar uma propriedade interna em nó NCLua. Essa propriedade só seria visível pelo próprio NCLua e não por nenhum link. Ou, por exemplo, eu quero colocar um objeto em uma posição na tela (top, left, width ou height), mas não quero que ninguém modifique este valor.

     Enfim, isso seria "parecido" a ter uma "propriedade private" em uma linguagem orientada a objetos.

    • 145ea1662b45b86a90b987f094279123?only path=false&size=50&d=404Guilherme Lima(usuário não autenticado)
      31 de Maio de 2011, 11:37

       

      Complementando...

      (nao pq eu sou chato, mas pq quando eu acabei de responder vi que o Roberto jah tinha respondido)

      O `externable' diz se uma propriedade pode ou nao ser usada em um link -- i.e. se ela eh ou nao externalizada. Por default ela eh true, o que significa que se vc nao falar nada a propriedade pode ser referenciada por elementos .

      Acho que a sua duvida eh no caso em que o `externable' eh false. Existem situacoes em que eh preciso declarar uma propriedade mas deixa-la invisivel. Por exemplo, se quisermos "transformar" descritores em propriedades precisamos converter cada atributo do descritor em uma propriedade correspondente com `externable=false'. Desta forma, a semantica do descritor eh mantida, ou seja, as propriedades sao inicializadas porem nao podem ser usadas em links.

      No exemplo anterior, se nao usarmos o `externable=false' pode acontecer de algum comando de edicao adicionar um link que faz referencia a propriedade. No documento anterior (com descritores) esse link nao funcionaria, porem no documento novo (sem descritores) o link passa a funcionar, o que incorreto.

      A motivacao para essa historia vc pode encontrar em
      ftp://ftp.telemidia.puc-rio.br/~lfgs/docs/conferencepapers/2010_10_lima.pdf

      • 0f684ee9f24064078192a1a2383250ce?only path=false&size=50&d=404Andre Bald(usuário não autenticado)
        1 de Junho de 2011, 9:04

         

        Guilherme/Roberto,

        Muito obrigado pelos esclarecimentos! Como esta propriedade está pouco documentada, creio que este tópico será de grande utilidade para outros developers também!

        Andre Luis

Concurso ITU-T de Aplicações para IPTV 2012

13 de Agosto de 2012, 19:38, por Desconhecido

Gostaríamos de lembrar aos possíveis interessados que o prazo de registro para participação no Concurso ITU-T de Aplicações para IPTV 2012 (IPTV Application Challenge) se encerra nesta semana, dia 15 de agosto de 2012. Já o prazo para a submissão de aplicações se encerra no dia 07 de setembro de 2012.



NCL Eclipse 1.6 disponível

10 de Janeiro de 2012, 21:19, por Desconhecido

Caros membros da Comunidade Ginga,



Concursos de Aplicações Ginga-NCL

22 de Setembro de 2011, 3:22, por Desconhecido

    Gostaríamos de relembra-los de que há dois concursos de aplicações Ginga-NCL com inscrições ainda abertas. O convite é aberto a toda a comunidade de desenvolvedores de aplicações para o Middleware Ginga-NCL, em nível internacional. São os seguintes concursos:



Novas versões: Ginga e Ginga-NCL Virtual Set-top Box (v.0.12.3)

1 de Agosto de 2011, 20:58, por Desconhecido



Algumas Boas Notícias da Comunidade Ginga

28 de Julho de 2011, 21:31, por Desconhecido

Autor: Roberto Azevedo