Open the menu

    Logic Tags

    O LumisXP suporta condicionais para montar a definição do DOUI de uma interface dinamicamente, durante sua execução.

    As condicionais do douidefinition.xml devem estar declaradas no cabeçalho com o namespace http://www.lumis.com.br/lumisportal/xsd/doui/logic. Costuma-se associar o nome logic ao namespace afim de explicitar que está utilizando-se desta funcionalidade.

    As tags para a utilização das condicionais só podem ser inseridas dentro da seção de interfaces.

    A lista de tags existentes são:

    • choose: Indica que um bloco da definição será decidida de acordo com condicionais. As seguintes tags devem estar dentro do choose e definem as condições:
    • when: Indica uma condição, que se atendida o bloco dentro desta tag deve ser utilizada. O atributo test determina qual é a expressão que deverá ser avaliada. A expressão deve ter um resultado do tipo boolean. O valor do atributo test já é a expressão, e não deve ser envolvida pelo ${ ... } normalmente usado para incluir expressões EL dentro de strings. Uma vez que a condição de uma tag when é avaliada como verdadeira, o choose termina sem avaliar suas outras opções (ou seja, apenas o primeiro when cujo test resultou em verdadeiro será utilizado).
    • otherwise: Indica que se nenhuma condição das tags when for avaliada como verdadeiro, este trecho será utilizado. A presença desta tag é opcional, e ela deverá sempre ser a última dentro de um grupo choose. Caso esta tag não esteja presente e nenhuma condição de when seja verdadeiro, o choose será eliminado, sem gerar nenhum fragmento de XML em seu lugar.

    Exemplo de uso do choose: