Cálculo condicional do tipo de atributo

O cálculo condicional dos tipos de atributos permite controlar o cálculo de tipo de atributo. Este controle é baseado na verificação de existência para tipos de atributos ou o resultado de comparações. A verificação de existência distingue entre os dois casos de Tipo de atributo existe (elemento XML exists) and Tipo de atributo especificado (elemento XML filled).

No exemplo abaixo, o elemento de cálculo <if> retorna o valor Null se não existir qualquer atributo de função AT_B na instância de processo. Neste caso, o conjunto de resultados gerado pelo elemento XML attribute está vazio.
Se pelo menos um atributo AT_B existir em qualquer função na instância de processo, o valor do elemento XML filteredattribute é transferido.

<if>

<exists>

<attribute name="AT_B" nodetype="OT_FUNC"/>

</exists>

<then>

<filteredattribute name="AT_C" nodetype="OT_FUNC"

filter="EARLY"/>

</then>

</if>

Ao vincular condições usando operadores lógicos, também podem ser formuladas condições mais complexas. O exemplo mostrado deve ser expandido para incluir um teste para um valor de atributo existente.

<if>

<and>

<exists>

<attribute name="AT_B" nodetype="OT_FUNC"/>

</exists>

<filled>

<attribute name="AT_B" nodetype="OT_FUNC"/>

</filled>

</and>

<then>

<filteredattribute name="AT_C" nodetype="OT_FUNC"

filter="EARLY"/>

</then>

</if>

Como a existência do tipo de atributo correspondente é um pré-requisito para um valor de atributo existente, a verificação de existência pode ser ignorada para otimizar a condição.

No exemplo seguinte, o elemento de cálculo <if> retorna o valor NULL se um tipo de atributo com o nome AT_G não for especificado para qualquer das funções.

<if>

<exists>

<filteredattribute name="AT_G" nodetype="OT_FUNC"

filter="LATEST"/>

</exists>

</if>