CciElement* cpiCreateElement( int* Rückkehrcode, CciParser* Parser);
Falls erfolgreich, wird die Adresse des neuen Elementobjekts zurückgegeben. Andernfalls wird als Wert null (CCI_NULL_ADDR) zurückgegeben, und der Rückkehrcode gibt den Grund für den Fehler an.
Dieses Beispiel stammt aus der Musterparserdatei BipSampPluginParser.c (Zeile 198 bis 225):
/* Zum Ende des Wertes gehen */ while (pc->iCurrentCharacter != quoteChar) { advance( (PARSER_CONTEXT_ST *)context, parser ); } /* Rufen Sie einen Zeiger zum Tagende ab */ endMarker = (char*)pc->iBuffer+(int)pc->iIndex; /* Berechnen Sie die Größe des Tags */ markedSize = (size_t)endMarker-(int)startMarker; /* Konvertieren Sie den Attributwert ins Brokerformat */ data = CciNString((char *)startMarker, markedSize, pc->iCcsid); /* Erstellen Sie ein neues Namenswertelement für das Attribut */ newElement = cpiCreateElement(&rc, parser); cpiSetElementType(&rc, newElement, CCI_ELEMENT_TYPE_NAME_VALUE); cpiSetElementName(&rc, newElement, data); if (pc->trace) { const char * mbData = mbString(data, pc->iCcsid); fprintf(pc->tracefile, "PLUGIN: Created new NAMEVALUE element; object=0x%x type=0x%x name=", newElement, CCI_ELEMENT_TYPE_NAME_VALUE); fprintf(pc->tracefile, "%s\n", mbData); fflush(pc->tracefile); free((void *)mbData); } /* Geben Sie den in CciNString() erstellten Speicherplatz frei */ free((void *)data);