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).
Os possíveis códigos de retorno são:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
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.
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
as07740_