Diese Funktion ruft das Wertobjekt vom angegebenen Syntaxelement ab. Dieses Wertobjekt ist insofern nicht transparent, als es nicht abgefragt werden kann. Es kann verwendet werden, um mit der Funktion cpiSetElementValueValue den Wert eines Elements festzulegen oder von einem anderen Element abzuleiten, ohne dass sein Typ bekannt ist. Dies kann von Parsern verwendet werden, die das Verhalten außer Kraft setzen, indem sie die Implementierungsfunktionen cpiElementValue und cpiSetElementValue aufrufen.
const CciElementValue* cpiElementValueValue( int* returnCode, CciElement* targetElement);
Die Adresse des Objekts CciElementValue, das im angegebenen Zielsyntaxelement gespeichert ist, wird zurückgegeben. Wenn ein Fehler auftritt, wird null (CCI_NULL_ADDR) zurückgegeben, und returnCode gibt die Fehlerursache an.
Dieses Beispiel wurde aus der Parser-Beispieldatei BipSampPluginParser.c entnommen (Zeile 705 bis 725):
const CciElementValue* cpiElementValue( CciParser* parser, CciElement* element ){ CciElement* firstChild; const CciElementValue* value; int rc; if ((cpiElementType(&rc, element) == CCI_ELEMENT_TYPE_VALUE) || (cpiElementType(&rc, element) == CCI_ELEMENT_TYPE_NAME_VALUE)) { value = cpiElementValueValue(&rc, element); } else if (cpiElementType(&rc, element) == CCI_ELEMENT_TYPE_NAME) { firstChild = cniFirstChild(&rc, element); value = cpiElementValueValue(&rc, firstChild); } else { } return(value); }