Grupo cniSearchElement

Pesquisa em irmãos anteriores do elemento especificado um elemento correspondente a critérios especificados. A pesquisa é executada iniciando no elemento de sintaxe especificado no parâmetro targetElement, e cada uma das quatro funções fornece uma pesquisa em uma direção diferente da árvore:
  1. cniSearchFirstChild pesquisa os elementos filhos imediatos do elemento inicial a partir do primeiro filho, até que seja encontrada uma correspondência ou que o final da cadeia de elementos filhos seja alcançado.
  2. cniSearchLastChild pesquisa os elementos filhos imediatos do elemento inicial a partir do último filho, até que seja encontrada uma correspondência ou que o final da cadeia de elementos filhos seja alcançado.
  3. cniSearchNextSibling pesquisa a partir do elemento inicial até os próximos irmãos, até que seja encontrada uma correspondência ou que o final da cadeia de irmãos seja alcançado.
  4. cniSearchPreviousSibling pesquisa a partir do elemento inicial até os irmãos anteriores, até que seja encontrada uma correspondência ou que o início da cadeia de irmãos seja alcançado.

Se você utilizar este comando para pesquisar um elemento dentro de uma mensagem que pertence a um domínio com conhecimento do espaço de nomes, a pesquisa somente será executada nos elementos cujo espaço de nomes seja uma cadeia vazia. Se você quiser executar uma pesquisa de elementos em qualquer espaço de nomes, utilize um dos comandos cniSearchElementNamespace.

Sintaxe

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
O código de retorno da função (saída).
targetElement
O endereço do objeto de elemento de sintaxe do qual a pesquisa começa (entrada).
mode
O modo de pesquisa a utilizar (entrada). Isto indica qual combinação de tipo de elemento e nome de elemento deve ser pesquisada. Os valores possíveis são:
  • 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
tipo
O tipo de elemento a pesquisar (entrada). Isso é utilizado se o modo da pesquisa envolver uma correspondência de tipo.
name
O nome de elemento a pesquisar (entrada). Isso é utilizado somente se o modo da pesquisa envolver uma correspondência de nome.

Exemplo

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

Valores de Retorno

  • Se bem-sucedida, o endereço do objeto de elemento de sintaxe pedido é retornado.
  • Se não houver um elemento correspondente, zero é retornado.
  • Se um erro ocorrer, zero (CCI_NULL_ADDR) é retornado e o parâmetro returnCode indica a razão do erro.

Conceitos relacionados
Nós de Processamento de Mensagem Definidos pelo Usuário
Nós de Saída Definidos pelo Usuário

Tarefas relacionadas
Criando um Nó de Processamento de Mensagem em C

Referências relacionadas
Funções Utilitárias de Nó em Linguagem C
cniFirstChild
cniLastChild
cniNextSibling
cniParent
cniPreviousSibling
cniRootElement
Grupo cniSearchElementInNamespace