cniSearchElement-Gruppe

Diese Gruppe durchsucht vorherige gleichgeordnete Elemente des angegebenen Elements nach einem Element, das die angegebenen Kriterien erfüllt. Die Suche beginnt bei dem Syntaxelement, das im Parameter targetElement angegeben ist, und jede der vier Funktionen führt eine Suche in einer anderen Richtung der Baumstruktur aus:
  1. cniSearchFirstChild durchsucht die direkt untergeordneten Elemente des Startelements ab dem ersten untergeordneten Element, bis eine Übereinstimmung gefunden wird oder das Ende der Kette der untergeordneten Elemente erreicht ist.
  2. cniSearchLastChild durchsucht die direkt untergeordneten Elemente des Startelements ab dem letzten untergeordneten Element, bis eine Übereinstimmung gefunden wird oder das Ende der Kette der untergeordneten Elemente erreicht ist.
  3. cniSearchNextSibling sucht ab dem Startelement bis zu den nächsten gleichgeordneten Elementen, bis eine Übereinstimmung gefunden wird oder das Ende der Kette der gleichgeordneten Elemente erreicht ist.
  4. cniSearchPreviousSibling sucht ab dem Startelement bis zu den vorherigen gleichgeordneten Elementen, bis eine Übereinstimmung gefunden wird oder der Anfang der Kette der gleichgeordneten Elemente erreicht ist.

Wenn Sie diesen Befehl verwenden, um nach einem Element in einer Nachricht zu suchen, das zu einer Domäne gehört, bei der der Namespace berücksichtigt werden muss, werden nur die Elemente durchsucht, deren Namespace eine leere Zeichenfolge ist. Wenn Sie nach Elementen in allen Namespaces suchen möchten, verwenden Sie einen der Befehle des Typs cniSearchElementNamespace.

Syntax

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

Parameter

returnCode
Der Rückkehrcode aus der Funktion (Ausgabe). Mögliche Rückkehrcodes sind:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
targetElement
Die Adresse des Syntaxelementobjekts, bei dem die Suche beginnt (Eingabe).
mode
Der Suchmodus, der verwendet werden soll (Eingabe). Der Modus gibt an, nach welcher Kombination aus Elementtyp und Elementname gesucht werden soll. Folgende Werte sind gültig:
  • 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
Der Elementtyp, nach dem gesucht werden soll (Eingabe). Dieser Parameter wird nur verwendet, wenn der Suchmodus eine Übereinstimmung des Typs vorsieht.
name
Der Elementname, nach dem gesucht werden soll (Eingabe). Dieser Parameter wird nur verwendet, wenn der Suchmodus eine Übereinstimmung des Namens vorsieht.

Beispiel

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

Rückgabewerte

  • Bei erfolgreicher Ausführung wird die Adresse des angeforderten Syntaxelementobjekts zurückgegeben.
  • Wenn kein passendes Element vorhanden ist, wird der Wert null zurückgegeben.
  • Wenn ein Fehler auftritt, wird der Wert null (CCI_NULL_ADDR) zurückgegeben, und der Parameter returnCode gibt die Fehlerursache an.
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2005 Letzte Aktualisierung: Nov 17, 2005
as07740_