cniSearchElementInNamespace-Gruppe

Sucht nach einem Element, das den angegebenen Kriterien entspricht. Die Suche wird beim Syntaxelement begonnen, das im Elementargument angegeben ist. Jede der vier Funktionen stellt eine Suche in eine andere Richtung in der Baumstruktur bereit:
  1. cniSearchFirstChildInNamespace 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. cniSearchLastChildInNamespace 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. cniSearchNextSiblingInNamespace 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. cniSearchPreviousSiblingInNamespace sucht vom Anfangselement an zu den vorherigen gleichgeordneten Elementen, bis entweder eine Übereinstimmung gefunden oder der Anfang der Kette gleichgeordneter Elemente erreicht wird.

Diese Funktion wird verwendet, wenn Sie eine Nachricht suchen, die zu einer Namespace unterstützenden Domäne gehört.

Syntax

void cniSearchFirstChildInNamespace(
	int*           returnCode,
	CciElement*    targetElement,
	CciCompareMode mode,
	const CciChar* nameSpace,
	const CciChar* name,
	CciElementType type)		

void cniSearchLastChildInNamespace(
	int*           returnCode,
	CciElement*    targetElement,
	CciCompareMode mode,
	const CciChar* nameSpace,
	const CciChar* name,
	CciElementType type)		

void cniSearchNextSiblingInNamespace(
	int*           returnCode,
	CciElement*    targetElement,
	CciCompareMode mode,
	const CciChar* nameSpace,
	const CciChar* name,
	CciElementType type)		

void cniSearchPreviousSiblingInNamespace(
	int*           returnCode,
	CciElement*    targetElement,
	CciCompareMode mode,
	CciElementType type,
	const CciChar* nameSpace,
	const CciChar* name)		

Parameter

returnCode
Der Rückkehrcode von der Funktion (Ausgabe). Die Angabe eines Nullzeigers bedeutet, dass der Knoten keine Fehler handhaben wird. Ist eine Eingabe nicht NULL, bedeutet die Ausgabe den Erfolgsstatus des Aufrufs. Jegliche während der Ausführung dieses Aufrufs ausgelösten Ausnahmebedingungen werden beim nächsten übergeordneten Knoten im Fluss erneut ausgelöst. Rufen Sie cciGetLastExceptionData für Details der Ausnahmebedingung auf. Der Rückkehrcode von 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 zu verwendende Suchmodus (Eingabe). Dieser gibt an, nach welcher Kombination von ElementNamespace, Elementtyp und Elementname gesucht werden soll. Dies sind die möglichen Werte:
  • CCI_COMPARE_MODE_SPACE
  • CCI_COMPARE_MODE_SPACE_FULL_TYPE
  • CCI_COMPARE_MODE_SPACE_GENERIC_TYPE
  • CCI_COMPARE_MODE_SPACE_SPECIFIC_TYPE
  • CCI_COMPARE_MODE_SPACE_NAME
  • CCI_COMPARE_MODE_SPACE_NAME_FULL_TYPE
  • CCI_COMPARE_MODE_SPACE_NAME_GENERIC_TYPE
  • CCI_COMPARE_MODE_SPACE_NAME_SPECIFIC_TYPE
  • CCI_COMPARE_MODE_NULL
Wenn der Vergleichsmodus keine Übereinstimmung bezüglich des Namespaces einschließt, werden alle Namespaces durchsucht. Dieses Verhalten unterscheidet sich von dem der cniSearchElement-Gruppe, bei der nur der Namespace mit der leeren Zeichenfolge berücksichtigt wird. Wenn Sie einen der obigen Modi angeben, setzen Sie den Parameter nameSpace auf eine leere Zeichenfolge.
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.
nameSpace
Der Namespace, nach dem gesucht werden soll (Eingabe). Dieser wird nur verwendet, wenn der Suchmodus eine Übereinstimmung in Bezug auf den Namespace einschließt.
name
Der Name, nach dem gesucht werden soll (Eingabe). Dieser wird nur verwendet, wenn der Suchmodus eine Übereinstimmung in Bezug auf den Namen einschließt.

Rückgabewerte

Keine. Beim Auftreten eines Fehlers gibt der Parameter returnCode den Grund dafür an.

Beispiel

 mode=CCI_COMPARE_MODE_SPACE ;
 ...

   if (forward) {
      firstChild = cniSearchFirstChildInNamespace(&rc, element, mode, space, 0,0);
    }else{
      firstChild = cniSearchLastChildInNamespace(&rc, element, mode, space, 0,0);

    }

    if (firstChild) {
      depth++;
      traceElement(firstChild,forward,space);
      depth--;
    }
    currentElement = firstChild;
    do{

      if (forward) {
        nextSibling = cniSearchNextSiblingInNamespace(&rc, currentElement,mode,space,0,0);
      }else{
        nextSibling = cniSearchPreviousSiblingInNamespace(&rc, currentElement,mode,space,0,0);
      }
      if (nextSibling) {
        traceElement(nextSibling,forward,space);
        currentElement=nextSibling;
      }

    }while (nextSibling) ;
    
  }
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
as07744_