cpiElementValueValue

Finalidad

Obtiene el objeto de valor del elemento de sintaxis especificado. El objeto de valor es opaco en el sentido que no se puede interrogar. Se puede utilizar para establecer o derivar el valor de un elemento a partir de otro, sin conocer su tipo, utilizando la función cpiSetElementValueValue. La pueden utilizar los analizadores que alteran temporalmente el comportamiento invocando las funciones de implementación cpiElementValue y cpiSetElementValue.

Sintaxis

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

Parámetros

returnCode
Recibe el código de retorno de la función (salida).
Los códigos de retorno posibles son:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
targetElement
Especifica la dirección del objeto de elemento de sintaxis de destino (entrada).

Valores de retorno

Se devuelve la dirección del objeto CciElementValue almacenado en el elemento de sintaxis de destino especificado. Si se produce un error, se devuelve cero (CCI_NULL_ADDR) y returnCode indica la razón del error.

Ejemplo

Este ejemplo se ha tomado del archivo de analizador de ejemplo BipSampPluginParser.c (líneas 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);
}
Conceptos relacionados
Analizadores definidos por el usuario
Extensiones definidas por el usuario
Tareas relacionadas
Creación de un analizador en C
Referencia relacionada
cpiElementName
cpiElementType
Grupo cpiElementValue
Funciones de programa de utilidad de analizador en C
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
as08460_