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
Notices | Trademarks | Downloads | Library | Support | Feedback
Copyright IBM Corporation 1999, 2006 Last updated: 5월 25, 2006
as08460_