Diese Funktion ruft das Wertobjekt vom angegebenen Syntaxelement ab. Dieses Wertobjekt ist insofern nicht transparent, als es nicht abgefragt werden kann. Es kann dazu verwendet werden, den Wert eines Elements mithilfe eines anderen festzulegen oder von diesem abzuleiten, ohne dessen Typ zu kennen, indem die Funktion cpiSetElementValueValue verwendet wird.
Diese Funktion kann von Parsern verwendet werden, die ein bestimmtes 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 der Rückkehrcode gibt den Grund für den Fehler an.
Das folgende Beispiel stammt aus der Musterparserdatei BipSampPluginParser.c:
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);
}