cpiElementNameSpace

Finalidad

Esta función obtiene el valor del atributo "espacio de nombres" para el 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 de plug-in no desea gestionar errores. Las excepciones emitidas durante la ejecución de esta llamada volverán a emitirse en el siguiente nodo en sentido ascendente del flujo. Si la entrada no es NULL, la salida indicará que el estado de la llamada es correcto. Si se produce una excepción durante la ejecución, *returnCode se establecerá en CCI_EXCEPTION en la salida. Una llamada a CciGetLastExceptionData proporcionará información detallada de la excepción. Si el canal de llamada no ha asignado suficiente memoria para retener el valor de espacio de nombres, *returncode se establece en CCI_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 del elemento. Una serie de caracteres (incluido un terminador NULL) que representa el valor de espacio de nombres se copia en este almacenamiento intermedio. El almacenamiento intermedio deberá ser una parte de la memoria asignada anteriormente por el canal de llamada.
length
Longitud, en bytes, del almacenamiento intermedio especificado mediante el parámetro de valor.

Valores de retorno

Si la función se ejecuta correctamente, se devuelve el número de CciChars copiados en el almacenamiento intermedio. Si el almacenamiento intermedio no es lo suficientemente grande para contener el valor de espacio de nombres, se devuelve el número de bytes requerido (y returnCode se establece en CCI_BUFFER_TOO_SMALL).

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