cpiSetElementCompleteNext

Zweck

Stellt die Markierung 'next child complete' im Zielsyntaxelement auf den angegebenen Wert ein.

Syntax

void cpiSetElementCompleteNext(
  int*         Rückkehrcode,
  CciElement*  Zielelement,
  CciBool      Wert);

Parameter

Rückkehrcode
Empfängt den Rückkehrcode von der Funktion (Ausgabe).
Mögliche Rückkehrcodes sind:
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_INV_ELEMENT_OBJECT
Zielelement
Gibt die Adresse des Zielsyntaxelementobjekts an (Eingabe).
Wert
Der Wert, der in der Markierung festgelegt werden muss (Eingabe).

Rückgabewerte

Keine. Wenn ein Fehler auftritt, gibt der Rückkehrcode den Grund für den Fehler an.

Beispielprogramm

Dieses Beispiel stammt aus der Musterparserdatei BipSampPluginParser.c (Zeile 289 bis 318):

/* Rufen Sie einen Zeiger auf den Start des Tags ab */
        startMarker = (char*)pc->iBuffer+(int)pc->iIndex;

        /* Überspringen Sie den Tag */
        goToNameEnd( (PARSER_CONTEXT_ST *)context, parser );

        /* Rufen Sie einen Zeiger auf das Ende des Tags ab */
        endMarker = (char*)pc->iBuffer+(int)pc->iIndex;

        /* Berechnen Sie die Größe des Tags */
        markedSize = (size_t)endMarker-(int)startMarker;

        /* Konvertieren Sie den Tag ins Brokerformat */
        data = CciNString((char *)startMarker, markedSize, pc->iCcsid);

        /* Erstellen Sie ein neues Namenselement für den Tag */
        newElement = cpiCreateElement(&rc, parser);
        cpiSetElementType(&rc, newElement, CCI_ELEMENT_TYPE_NAME);
        cpiSetElementName(&rc, newElement, data);
        cpiSetElementCompletePrevious(&rc, newElement, 0);
        cpiSetElementCompleteNext(&rc, newElement, 0);
        if (pc->trace) {
          const char * mbData = mbString(data, pc->iCcsid);
          fprintf(pc->tracefile, "PLUGIN: New tag found\n");
          fprintf(pc->tracefile, "PLUGIN: Created new NAME element;
                  object=0x%x type=0x%x name=",
                  newElement, CCI_ELEMENT_TYPE_NAME);
          fprintf(pc->tracefile, "%s\n", mbData);
          fflush(pc->tracefile);
          free((void *)mbData);
        }
        /* Geben Sie den in CciNString() zugeordneten Speicherplatz frei */
        free((void *)data);

        /* Fügen Sie das Element hinzu */
        cpiAddAsLastChild(&rc, element, newElement);
        cpiSetElementCompletePrevious(&rc, element, 1);
Zugehörige Konzepte
Benutzerdefinierte Parser
Benutzerdefinierte Erweiterungen
Zugehörige Tasks
Parser in C erstellen
Zugehörige Verweise
cpiSetElementCompletePrevious
C-Parser-Dienstprogrammfunktionen
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
as08480_