Lines Matching refs:sto
3867 xmlSchemaFreeIDCStateObjList(xmlSchemaIDCStateObjPtr sto)
3870 while (sto != NULL) {
3871 next = sto->next;
3872 if (sto->history != NULL)
3873 xmlFree(sto->history);
3874 if (sto->xpathCtxt != NULL)
3875 xmlFreeStreamCtxt((xmlStreamCtxtPtr) sto->xpathCtxt);
3876 xmlFree(sto);
3877 sto = next;
22392 xmlSchemaIDCStateObjPtr sto;
22398 sto = vctxt->xpathStatePool;
22399 vctxt->xpathStatePool = sto->next;
22400 sto->next = NULL;
22405 sto = (xmlSchemaIDCStateObjPtr) xmlMalloc(sizeof(xmlSchemaIDCStateObj));
22406 if (sto == NULL) {
22411 memset(sto, 0, sizeof(xmlSchemaIDCStateObj));
22417 sto->next = vctxt->xpathStates;
22418 vctxt->xpathStates = sto;
22423 if (sto->xpathCtxt != NULL)
22424 xmlFreeStreamCtxt((xmlStreamCtxtPtr) sto->xpathCtxt);
22429 sto->xpathCtxt = (void *) xmlPatternGetStreamCtxt(
22431 if (sto->xpathCtxt == NULL) {
22436 sto->type = type;
22437 sto->depth = vctxt->depth;
22438 sto->matcher = matcher;
22439 sto->sel = sel;
22440 sto->nbHistory = 0;
22443 xmlGenericError(xmlGenericErrorContext, "IDC: STO push '%s'\n",
22444 sto->sel->xpath);
22463 xmlSchemaIDCStateObjPtr sto, head = NULL, first;
22485 sto = first;
22486 while (sto != head) {
22488 if (sto->type == XPATH_STATE_OBJ_TYPE_IDC_SELECTOR)
22490 sto->matcher->aidc->def->name, sto->sel->xpath);
22493 sto->matcher->aidc->def->name, sto->sel->xpath);
22496 res = xmlStreamPush((xmlStreamCtxtPtr) sto->xpathCtxt,
22499 res = xmlStreamPushAttr((xmlStreamCtxtPtr) sto->xpathCtxt,
22519 if (sto->history == NULL) {
22520 sto->history = (int *) xmlMalloc(5 * sizeof(int));
22521 if (sto->history == NULL) {
22526 sto->sizeHistory = 5;
22527 } else if (sto->sizeHistory <= sto->nbHistory) {
22528 sto->sizeHistory *= 2;
22529 sto->history = (int *) xmlRealloc(sto->history,
22530 sto->sizeHistory * sizeof(int));
22531 if (sto->history == NULL) {
22537 sto->history[sto->nbHistory++] = depth;
22544 if (sto->type == XPATH_STATE_OBJ_TYPE_IDC_SELECTOR) {
22554 sel = sto->matcher->aidc->def->fields;
22556 if (xmlSchemaIDCAddStateObject(vctxt, sto->matcher,
22561 } else if (sto->type == XPATH_STATE_OBJ_TYPE_IDC_FIELD) {
22581 if (sto->next == NULL) {
22586 sto = vctxt->xpathStates;
22588 sto = sto->next;
22640 xmlSchemaIDCStateObjPtr sto;
22645 sto = vctxt->xpathStates;
22647 res = xmlStreamPop((xmlStreamCtxtPtr) sto->xpathCtxt);
22650 sto = sto->next;
22651 } while (sto != NULL);
22670 xmlSchemaIDCStateObjPtr sto, nextsto;
22677 sto = vctxt->xpathStates;
22692 while (sto != NULL) {
22693 res = xmlStreamPop((xmlStreamCtxtPtr) sto->xpathCtxt);
22701 sto->sel->xpath);
22703 if (sto->nbHistory == 0)
22706 matchDepth = sto->history[sto->nbHistory -1];
22712 sto = sto->next;
22715 if (sto->type == XPATH_STATE_OBJ_TYPE_IDC_FIELD) {
22747 WXS_BASIC_CAST sto->matcher->aidc->def,
22750 sto->sel->xpath,
22751 xmlSchemaGetIDCDesignation(&str, sto->matcher->aidc->def));
22753 sto->nbHistory--;
22763 WXS_BASIC_CAST sto->matcher->aidc->def,
22766 sto->nbHistory--;
22769 xmlSchemaIDCMatcherPtr matcher = sto->matcher;
22791 pos = sto->depth - matcher->depth;
22792 idx = sto->sel->index;
22859 sto->sel->xpath,
22862 sto->nbHistory--;
22912 } else if (sto->type == XPATH_STATE_OBJ_TYPE_IDC_SELECTOR) {
22932 matcher = sto->matcher;
23127 sto->nbHistory--;
23133 if ((sto->nbHistory == 0) && (sto->depth == depth)) {
23135 xmlGenericError(xmlGenericErrorContext, "IDC: STO pop '%s'\n",
23136 sto->sel->xpath);
23138 if (vctxt->xpathStates != sto) {
23143 nextsto = sto->next;
23147 vctxt->xpathStates = sto->next;
23148 sto->next = vctxt->xpathStatePool;
23152 vctxt->xpathStatePool = sto;
23153 sto = nextsto;
23155 sto = sto->next;
23156 } /* while (sto != NULL) */