Esta función añade un elemento de sintaxis nuevo (y actualmente no conectado) al árbol de elementos de sintaxis antes del elemento de destino especificado. El elemento recién añadido se convierte en el hermano anterior del elemento de destino.
void cpiAddBefore(
int* returnCode,
CciElement* targetElement,
CciElement* newElement);
Ninguno. Si se produce un error, returnCode indica la razón del error.
void cpiSetElementValue(
CciParser* parser,
CciElement* element,
CciElementValue* value
){
CciElement* newElement;
int rc;
if ((cpiElementType(&rc, element) == CCI_ELEMENT_TYPE_VALUE) ||
(cpiElementType(&rc, element) == CCI_ELEMENT_TYPE_NAME_VALUE)) {
cpiSetElementValueValue(&rc, element, value);
}
else if (cpiElementType(&rc, element) == CCI_ELEMENT_TYPE_NAME) {
/* Crear un elemento de valor nuevo, añadirlo antes del elemento de valor actual
y establecer el valor */
newElement = cpiCreateElement(&rc, parser);
cpiSetElementType(&rc, newElement, CCI_ELEMENT_TYPE_VALUE);
cpiSetElementValueValue(&rc, newElement, value);
cpiAddBefore(&rc, element, newElement);
}
else {
}
return;
}