Gruppo cniSearchElement

Ricerca gli elementi associati precedenti dell'elemento specificato in relazione al criterio di corrispondenza dell'elemento specificato. La ricerca viene eseguita iniziando dall'elemento di sintassi specificato nel parametro targetElement ed ognuna delle quattro funzioni effettua una ricerca in una diversa direzione nella struttura al albero:
  1. cniSearchFirstChild ricerca gli elementi child immediati dell'elemento iniziale dal primo child, finché non viene rilevata una corrispondenza oppure viene raggiunta la fine della catena di elementi child.
  2. cniSearchLastChild ricerca gli elementi child immediati dell'elemento iniziale dall'ultimo child, finché non viene rilevata una corrispondenza oppure viene raggiunta la fine della catena di elementi child.
  3. cniSearchNextSibling effettua la ricerca dall'elemento iniziale all'elemento associato successivo finché non viene rilevata una corrispondenza oppure viene raggiunta la fine della catena di elementi associati.
  4. cniSearchPreviousSibling effettua la ricerca dall'elemento iniziale all'elemento associato precedente finché non viene rilevata una corrispondenza oppure viene raggiunto l'inizio della catena di elementi associati.

Se si utilizza questo comando per eseguire la ricerca di un elemento all'interno di un messaggio che appartiene ad un dominio spazio dei nomi, la ricerca viene eseguita solo su quegli elementi il cui spazio dei nomi è una stringa vuota. Se si desidera eseguire una ricerca di elementi in uno spazio dei nomi, utilizzare uno dei comandi cniSearchElementNamespace.

Sintassi

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);

Parametri

returnCode
Il codice di ritorno dalla funzione (output).
I codici di ritorno possibili sono:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
targetElement
L'indirizzo dell'oggetto elemento di sintassi da cui viene avviata la ricerca (input).
mode
La modalità di ricerca da utilizzare (input). Indica la combinazione di tipo elemento e nome elemento di cui eseguire la ricerca. I valori possibili sono:
  • 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
Il tipo di elemento da ricercare (input). Viene utilizzato solo se la modalità di ricerca implica una corrispondenza sul tipo.
name
Il nome di elemento da ricercare (input). Viene utilizzato solo se la modalità di ricerca implica una corrispondenza sul nome.

Esempio

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

Valori di restituzione

  • Se ha esito positivo, viene restituito l'indirizzo dell'oggetto elemento di sintassi richiesto.
  • Se non è presente alcun elemento corrispondente, viene restituito zero.
  • Se si verifica un errore, viene restituito un valore zero (CCI_NULL_ADDR) e il parametro returnCode indica il motivo dell'errore.
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
as07740_