cniSearchElement-Gruppe

Sucht vorhergehende gleichgeordnete Elemente des angegebenen Elements für ein Element, das angegebenen Kriterien entspricht. Die Suche wird beim Syntaxelement begonnen, das im Parameter targetElement angegeben ist. Jede der vier Funktionen stellt eine Suche in eine andere Richtung in der Baumstruktur bereit:
  1. cniSearchFirstChild sucht die unmittelbaren untergeordneten Elemente des Anfangselements vom ersten untergeordneten Element an, bis entweder eine Übereinstimmung gefunden oder das Ende der Kette untergeordneter Elemente erreicht wird.
  2. cniSearchLastChild sucht die unmittelbaren untergeordneten Elemente des Anfangselements vom letzten untergeordneten Element an, bis entweder eine Übereinstimmung gefunden oder das Ende der Kette untergeordneter Elemente erreicht wird.
  3. cniSearchNextSibling sucht vom Anfangselement an zu den nächsten gleichgeordneten Elementen, bis entweder eine Übereinstimmung gefunden oder das Ende der Kette gleichgeordneter Elemente erreicht wird.
  4. cniSearchPreviousSibling sucht vom Anfangselement an zu den vorherigengleichgeordneten Elementen, bis entweder eine Übereinstimmung gefunden oder der Anfang der Kette gleichgeordneter Elemente erreicht wird.

Wenn Sie diesen Befehl verwenden, um nach einem Element in einer Nachricht zu suchen, die zu einer Namespace unterstützenden Domäne gehört, wird die Suche nur bei den Elementen durchgeführt, deren Namespace eine leere Zeichenfolge ist. Wenn Sie eine Suche nach Elementen in einem beliebigen Namespace durchführen möchten, verwenden Sie einen der cniSearchElementNamespace-Befehle.

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.
mode
Der zu verwendende Suchmodus (Eingabe). Dieser gibt an, nach welcher Kombination von Elementtyp und Elementname gesucht werden soll. Dies sind die möglichen Werte:
  • 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 wird nur verwendet, wenn der Suchmodus eine Übereinstimmung in Bezug auf den Typ einschließt.
name
Der Elementname, nach dem gesucht werden soll (Eingabe). Dieser wird nur verwendet, wenn der Suchmodus eine Übereinstimmung in Bezug auf den Namen einschließt.

Beispiel

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

Rückgabewerte

  • Bei Erfolg wird die Adresse des angeforderten Syntaxelementobjekts zurückgegeben.
  • Falls kein passendes Element vorhanden ist, wird Null zurückgegeben.
  • Beim Auftreten eines Fehlers wird Null (CCI_NULL_ADDR) ausgegeben, und der Parameter returnCode gibt den Grund für den Fehler an.
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
as07740_