cpiElementValueValue

Finalidade

Obtém o objeto de valor do elemento de sintaxe especificado. Esse objeto de valor é opaco no sentido de que ele não pode ser interrogado. Ele pode ser utilizado para definir ou derivar o valor de um elemento a partir de outro, sem conhecer seu tipo, utilizando a função cpiSetElementValueValue. Isso pode ser utilizado por analisadores que substituem comportamento chamando as funções de implementação cpiElementValue e cpiSetElementValue.

Sintaxe

const CciElementValue* cpiElementValueValue(
  int*         returnCode,
  CciElement*  targetElement);

Parâmetros

returnCode
Recebe o código de retorno da função (saída).
Os possíveis códigos de retorno são:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
targetElement
Especifica o endereço do objeto do elemento de sintaxe de destino (entrada).

Valores de Retorno

O endereço do objeto CciElementValue armazenado no elemento de sintaxe de destino especificado é retornado. Se um erro ocorrer, zero (CCI_NULL_ADDR) é retornado e returnCode indica a razão do erro.

Amostra

Este exemplo foi tirado do arquivo do analizador de amostra BipSampPluginParser.c (linhas 705 a 725):

const CciElementValue* cpiElementValue(
  CciParser*  parser,
  CciElement* element
){
  CciElement* firstChild;
  const CciElementValue* value;
  int         rc;

  if ((cpiElementType(&rc, element) == CCI_ELEMENT_TYPE_VALUE) ||
      (cpiElementType(&rc, element) == CCI_ELEMENT_TYPE_NAME_VALUE)) {
    value = cpiElementValueValue(&rc, element);
  }
  else if (cpiElementType(&rc, element) == CCI_ELEMENT_TYPE_NAME) {
    firstChild = cniFirstChild(&rc, element);
    value = cpiElementValueValue(&rc, firstChild);
  }
  else {
  }

  return(value);
}
Conceitos relacionados
Analisadores Definidos pelo Usuário
Extensões Definidas pelo Usuário
Tarefas relacionadas
Criando um Analisador em C
Referências relacionadas
cpiElementName
cpiElementType
Grupo cpiElementValue
Funções de Utilitários do Analisador C
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
as08460_