static errorCode sample_startElement(QName qname, void* app_data) { appData* appD = (appData*) app_data; asciiToString("SE", &appD->eventCode, &appD->allocList, TRUE); cloneStringManaged(qname.uri, &appD->uri, &appD->allocList); cloneStringManaged(qname.localName, &appD->localName, &appD->allocList); return EXIP_OK; }
static errorCode ops_stringData(const String value, void* app_data) { struct ops_AppData* o_appD = (struct ops_AppData*) app_data; if(o_appD->prevElementUriID == 4) // URI == http://www.w3.org/2009/exi { if(o_appD->prevElementLnID != 31) // schemaId { DEBUG_MSG(ERROR, DEBUG_CONTENT_IO, (">Corrupt EXI Options\n")); return EXIP_HANDLER_STOP; } else { if(isStringEmpty(&value)) { o_appD->parsed_ops->schemaIDMode = SCHEMA_ID_EMPTY; } else { o_appD->parsed_ops->schemaIDMode = SCHEMA_ID_SET; if(cloneStringManaged(&value, &o_appD->parsed_ops->schemaID, o_appD->permanentAllocList) != ERR_OK) { DEBUG_MSG(ERROR, DEBUG_CONTENT_IO, (">Memory error\n")); return EXIP_HANDLER_STOP; } } } } else { // Handle here the user defined meta-data that follows! http://www.w3.org/TR/2011/REC-exi-20110310/#key-userMetaData } return ERR_OK; }