cpiElementNameSpace

Finalidad

Obtiene el valor del atributo "espacio de nombres" del elemento de sintaxis especificado

Definida en Tipo Miembro
CPI_VFT Opcional iFpElementValue

Sintaxis

CciSize cpiElementNamespace(
   int*           returnCode,
   CciElement*    targetElement,
   const CciChar* value,
   CciSize        length);

Parámetros

returnCode
Una entrada de puntero NULL significa que el nodo definido por el usuario no desea tratar los errores. Las excepciones emitidas durante la ejecución de esta llamada se volverán a emitir en el nodo ascendente siguiente del flujo. Si la entrada no es NULL, la salida significará el estado de éxito de la llamada. Si se produce una excepción durante la ejecución, *returnCode se establecerá en CCI_EXCEPTION en la salida. Una llamada a CciGetLastExceptionData proporcionará los detalles de la excepción. Si el canal de llamada no ha asignado suficiente memoria para contener el valor de espacio de nombres, *returncode se establecerá en CCI_BUFFER_TOO_SMALL.
Los códigos de retorno posibles son:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
  • CCI_INV_DATA_POINTER
  • CCI_INV_DATA_BUFLEN
  • CCI_INV_BUFFER_TOO_SMALL
targetElement
Especifica la dirección del objeto de elemento de sintaxis de destino.
value
Especifica la dirección de un almacenamiento intermedio en el que se copiará el valor de espacio de nombres de elemento. En este almacenamiento intermedio se copia una serie de caracteres (incluido un terminador NULL) que representa el valor de espacio de nombres. El almacenamiento intermedio debe ser una parte de memoria asignada anteriormente por el canal de llamada.
length
Longitud, en CciChars, del almacenamiento intermedio especificado por el parámetro "value".

Valores de retorno

Si la ejecución se realiza satisfactoriamente, se devuelve el número de CciChar copiados en el almacenamiento intermedio.

Si el tamaño del almacenamiento intermedio no es suficientemente grande para contener el valor del atributo, returnCode se establece en CCI_BUFFER_TOO_SMALL y se devuelve el número de bytes de CciChars necesarios.

Ejemplo

elementNamespace=(CciChar*)malloc(sizeof(CciChar) * elementNamespaceLength);
    elementNamespaceLength = cpiElementNamespace(&rc;,
                        element,
                        elementNamespace,
                        elementNamespaceLength);
    
    if (rc==CCI_BUFFER_TOO_SMALL){
      free(elementNamespace);
      elementNamespace=(CciChar*)malloc(sizeof(CciChar) * elementNamespaceLength);
      elementNamespaceLength = cpiElementNamespace(&rc;,
                        element,
                        elementNamespace,
                        elementNamespaceLength);
    }
    checkRC(rc);
Conceptos relacionados
Analizadores definidos por el usuario
Extensiones definidas por el usuario
Tareas relacionadas
Creación de un analizador en C
Referencia relacionada
cpiSetElementNamespace
Funciones de implementación de analizador en C
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
as08105_