cpiSetNextParserClassName

Finalidad

Función opcional que se utiliza para informar a un analizador del siguiente analizador en la cadena. Esta función se invoca durante el proceso de finalización, y devuelve al analizador de plug-ins una serie de caracteres que contiene el nombre de la clase de analizador siguiente en la cadena. Permite a un analizador llevar a cabo, durante la fase de finalización, acciones para modificar el árbol de elementos de sintaxis antes de la fase que provoca la serialización de la corriente de bits.

Si especifica el nombre de un analizador suministrado con WebSphere Business Integration Message Broker, debe utilizar el nombre de clase correcto del analizador.

Definida en Tipo Miembro
CPI_VFT Opcional iFpSetNextParserClassName

Sintaxis

void cpiSetNextParserClassName(
  CciParser*   parser,
  CciContext*  context,
  CciChar*     name,
  CciBool      parserType);
 

Parámetros

parser
Dirección del objeto de analizador (entrada).
context
Dirección del contexto de plug-in (entrada).
name
Nombre del siguiente analizador como una serie de caracteres CciChar.
parserType
Indica si el analizador al que se ha hecho referencia es estándar (parserType=0) o no es estándar (parserType=non-zero) (entrada). Un analizador estándar espera que el campo Format de la cabecera anterior en la cadena contenga el nombre de la clase de analizador siguiente. Los analizadores que no son estándar esperan que el campo Domain contenga el nombre de clase de analizador.

Valores de retorno

Ninguno.

Ejemplo

Este ejemplo se ha tomado del archivo de analizador de ejemplo BipSampPluginParser.c (de la línea 763 a la 787):

void cpiSetNextParserClassName(
  CciParser*  parser,
  CciContext* context,
  CciChar*    name,
  CciBool     isHeaderParser
){
  PARSER_CONTEXT_ST* pc = (PARSER_CONTEXT_ST *)context ;
  int                rc = 0;

  /* Guardar el nombre en mi contexto */
  CciCharNCpy(pc->iNextParserClassName, name, CciCharLen(name));

  if (pc->trace) {
    fprintf(pc->tracefile, "PLUGIN: <- cpiSetNextParserClassName()\n");
    fflush(pc->tracefile);
  }

  return;
}

Conceptos relacionados
Analizadores definidos por el usuario
Extensiones definidas por el usuario

Tareas relacionadas
Creación de un analizador en C

Referencia relacionada
Funciones de implementación de analizador