Grupo cniSearchElement

Este mandato busca elementos iguales anteriores del elemento especificado según un criterio de coincidencia de elementos especificado. La búsqueda se realiza empezando por el elemento de sintaxis especificado en el parámetro targetElement, y cada una de las cuatro funciones proporciona una búsqueda en una dirección distinta del árbol:
  1. La función cniSearchFirstChild busca los elementos dependientes inmediatos del elemento de inicio desde el primer elemento dependiente hasta que se encuentra una coincidencia o se alcanza el final de la cadena del elemento dependiente.
  2. La función cniSearchLastChild busca los elementos dependientes inmediatos del elemento de inicio desde el último elemento dependiente hasta que se encuentra una coincidencia o se alcanza el final de la cadena del elemento dependiente.
  3. La función cniSearchNextSibling busca desde el elemento de inicio hasta los elementos iguales posteriores, hasta que se encuentra una coincidencia o se alcanza el final de la cadena del elemento igual.
  4. La función cniSearchPreviousSibling busca desde el elemento de inicio hasta los elementos iguales anteriores, hasta que se encuentra una coincidencia o se alcanza el principio de la cadena del elemento igual.

Si utiliza este mandato para buscar un elemento incluido en un mensaje que pertenezca a un dominio preparado para espacios de nombres, la búsqueda sólo se realizará en los elementos cuyo espacio de nombres sea una serie de caracteres vacía. Si desea realizar una búsqueda de elementos en cualquier espacio de nombres, utilice uno de los mandatos cniSearchElementNamespace.

Sintaxis

CciElement* cniSearchFirstChild(
  int*            returnCode,
  CciElement*     targetElement,
  CciCompareMode* mode,
  CciElementType  type,
  CciChar         name);
CciElement* cniSearchLastChild(
  int*            returnCode,
  CciElement*     targetElement,
  CciCompareMode* mode,
  CciElementType  type,
  CciChar         name);
CciElement* cniSearchNextSibling(
  int*            returnCode,
  CciElement*     targetElement,
  CciCompareMode* mode,
  CciElementType  type,
  CciChar         name);
CciElement* cniSearchPreviousSibling(
  int*            returnCode,
  CciElement*     targetElement,
  CciCompareMode* mode,
  CciElementType  type,
  CciChar         name);

Parámetros

returnCode
Código de retorno de la función (salida).
targetElement
Dirección del objeto de elemento de sintaxis desde el que se inicia la búsqueda (entrada).
mode
Modalidad de búsqueda que se va a utilizar (entrada). Indica qué combinación de tipo de elemento y nombre de elemento se va a buscar. Los valores posibles son:
  • CCI_COMPARE_MODE_FULL
  • CCI_COMPARE_MODE_FULL_TYPE
  • CCI_COMPARE_MODE_GENERIC_TYPE
  • CCI_COMPARE_MODE_SPECIFIC_TYPE
  • CCI_COMPARE_MODE_NAME
  • CCI_COMPARE_MODE_NAME_SPECIFIC_TYPE
  • CCI_COMPARE_MODE_NAME_GENERIC_TYPE
  • CCI_COMPARE_MODE_NAME_FULL_TYPE
  • CCI_COMPARE_MODE_NULL
type
Tipo de elemento que se va a buscar (entrada). Este parámetro sólo se utiliza si la modalidad de búsqueda implica una coincidencia de tipo.
name
Nombre de elemento que se va a buscar (entrada). Este parámetro sólo se utiliza si la modalidad de búsqueda implica una coincidencia de nombre.

Ejemplo

  int rc;
  CciElement* firstChild = cniSearchFirstChild(
                                              &rc, 
                                               inRootElement, 
                                               CCI_COMPARE_MODE_NAME, 
                                               elementName, 
                                               0);

Valores de retorno

  • Si el mandato se ejecuta correctamente, se devuelve la dirección del objeto de elemento de sintaxis solicitado.
  • Si no hay ningún elemento coincidente, se devuelve cero.
  • Si se produce un error, se devuelve cero (CCI_NULL_ADDR), y el parámetro returnCode indica la causa de dicho error.

Conceptos relacionados
Nodos de proceso de mensajes definidos por el usuario
Nodos de salida definidos por el usuario

Tareas relacionadas
Creación de un nodo de proceso de mensajes en C

Referencia relacionada
Funciones de programa de utilidad de nodo de lenguaje C
cniFirstChild
cniLastChild
cniNextSibling
cniParent
cniPreviousSibling
cniRootElement
Grupo cniSearchElementInNamespace