Lines Matching refs:ctxt
467 xmlRngPErrMemory(xmlRelaxNGParserCtxtPtr ctxt, const char *extra) in xmlRngPErrMemory() argument
473 if (ctxt != NULL) { in xmlRngPErrMemory()
474 if (ctxt->serror != NULL) in xmlRngPErrMemory()
475 schannel = ctxt->serror; in xmlRngPErrMemory()
477 channel = ctxt->error; in xmlRngPErrMemory()
478 data = ctxt->userData; in xmlRngPErrMemory()
479 ctxt->nbErrors++; in xmlRngPErrMemory()
502 xmlRngVErrMemory(xmlRelaxNGValidCtxtPtr ctxt, const char *extra) in xmlRngVErrMemory() argument
508 if (ctxt != NULL) { in xmlRngVErrMemory()
509 if (ctxt->serror != NULL) in xmlRngVErrMemory()
510 schannel = ctxt->serror; in xmlRngVErrMemory()
512 channel = ctxt->error; in xmlRngVErrMemory()
513 data = ctxt->userData; in xmlRngVErrMemory()
514 ctxt->nbErrors++; in xmlRngVErrMemory()
541 xmlRngPErr(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node, int error, in xmlRngPErr() argument
548 if (ctxt != NULL) { in xmlRngPErr()
549 if (ctxt->serror != NULL) in xmlRngPErr()
550 schannel = ctxt->serror; in xmlRngPErr()
552 channel = ctxt->error; in xmlRngPErr()
553 data = ctxt->userData; in xmlRngPErr()
554 ctxt->nbErrors++; in xmlRngPErr()
575 xmlRngVErr(xmlRelaxNGValidCtxtPtr ctxt, xmlNodePtr node, int error, in xmlRngVErr() argument
582 if (ctxt != NULL) { in xmlRngVErr()
583 if (ctxt->serror != NULL) in xmlRngVErr()
584 schannel = ctxt->serror; in xmlRngVErr()
586 channel = ctxt->error; in xmlRngVErr()
587 data = ctxt->userData; in xmlRngVErr()
588 ctxt->nbErrors++; in xmlRngVErr()
696 static int xmlRelaxNGEqualValidState(xmlRelaxNGValidCtxtPtr ctxt
700 static void xmlRelaxNGFreeValidState(xmlRelaxNGValidCtxtPtr ctxt,
790 xmlRelaxNGNewRelaxNG(xmlRelaxNGParserCtxtPtr ctxt) in xmlRelaxNGNewRelaxNG() argument
796 xmlRngPErrMemory(ctxt, NULL); in xmlRelaxNGNewRelaxNG()
869 xmlRelaxNGNewGrammar(xmlRelaxNGParserCtxtPtr ctxt) in xmlRelaxNGNewGrammar() argument
875 xmlRngPErrMemory(ctxt, NULL); in xmlRelaxNGNewGrammar()
921 xmlRelaxNGNewDefine(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) in xmlRelaxNGNewDefine() argument
925 if (ctxt->defMax == 0) { in xmlRelaxNGNewDefine()
926 ctxt->defMax = 16; in xmlRelaxNGNewDefine()
927 ctxt->defNr = 0; in xmlRelaxNGNewDefine()
928 ctxt->defTab = (xmlRelaxNGDefinePtr *) in xmlRelaxNGNewDefine()
929 xmlMalloc(ctxt->defMax * sizeof(xmlRelaxNGDefinePtr)); in xmlRelaxNGNewDefine()
930 if (ctxt->defTab == NULL) { in xmlRelaxNGNewDefine()
931 xmlRngPErrMemory(ctxt, "allocating define\n"); in xmlRelaxNGNewDefine()
934 } else if (ctxt->defMax <= ctxt->defNr) { in xmlRelaxNGNewDefine()
937 ctxt->defMax *= 2; in xmlRelaxNGNewDefine()
938 tmp = (xmlRelaxNGDefinePtr *) xmlRealloc(ctxt->defTab, in xmlRelaxNGNewDefine()
939 ctxt->defMax * in xmlRelaxNGNewDefine()
943 xmlRngPErrMemory(ctxt, "allocating define\n"); in xmlRelaxNGNewDefine()
946 ctxt->defTab = tmp; in xmlRelaxNGNewDefine()
950 xmlRngPErrMemory(ctxt, "allocating define\n"); in xmlRelaxNGNewDefine()
954 ctxt->defTab[ctxt->defNr++] = ret; in xmlRelaxNGNewDefine()
1037 xmlRelaxNGNewStates(xmlRelaxNGValidCtxtPtr ctxt, int size) in xmlRelaxNGNewStates() argument
1041 if ((ctxt != NULL) && in xmlRelaxNGNewStates()
1042 (ctxt->freeStates != NULL) && (ctxt->freeStatesNr > 0)) { in xmlRelaxNGNewStates()
1043 ctxt->freeStatesNr--; in xmlRelaxNGNewStates()
1044 ret = ctxt->freeStates[ctxt->freeStatesNr]; in xmlRelaxNGNewStates()
1056 xmlRngVErrMemory(ctxt, "allocating states\n"); in xmlRelaxNGNewStates()
1065 xmlRngVErrMemory(ctxt, "allocating states\n"); in xmlRelaxNGNewStates()
1084 xmlRelaxNGAddStatesUniq(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGAddStatesUniq() argument
1101 xmlRngVErrMemory(ctxt, "adding states\n"); in xmlRelaxNGAddStatesUniq()
1122 xmlRelaxNGAddStates(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGAddStates() argument
1141 xmlRngVErrMemory(ctxt, "adding states\n"); in xmlRelaxNGAddStates()
1148 if (xmlRelaxNGEqualValidState(ctxt, state, states->tabState[i])) { in xmlRelaxNGAddStates()
1149 xmlRelaxNGFreeValidState(ctxt, state); in xmlRelaxNGAddStates()
1165 xmlRelaxNGFreeStates(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGFreeStates() argument
1170 if ((ctxt != NULL) && (ctxt->freeStates == NULL)) { in xmlRelaxNGFreeStates()
1171 ctxt->freeStatesMax = 40; in xmlRelaxNGFreeStates()
1172 ctxt->freeStatesNr = 0; in xmlRelaxNGFreeStates()
1173 ctxt->freeStates = (xmlRelaxNGStatesPtr *) in xmlRelaxNGFreeStates()
1174 xmlMalloc(ctxt->freeStatesMax * sizeof(xmlRelaxNGStatesPtr)); in xmlRelaxNGFreeStates()
1175 if (ctxt->freeStates == NULL) { in xmlRelaxNGFreeStates()
1176 xmlRngVErrMemory(ctxt, "storing states\n"); in xmlRelaxNGFreeStates()
1178 } else if ((ctxt != NULL) in xmlRelaxNGFreeStates()
1179 && (ctxt->freeStatesNr >= ctxt->freeStatesMax)) { in xmlRelaxNGFreeStates()
1182 tmp = (xmlRelaxNGStatesPtr *) xmlRealloc(ctxt->freeStates, in xmlRelaxNGFreeStates()
1183 2 * ctxt->freeStatesMax * in xmlRelaxNGFreeStates()
1187 xmlRngVErrMemory(ctxt, "storing states\n"); in xmlRelaxNGFreeStates()
1192 ctxt->freeStates = tmp; in xmlRelaxNGFreeStates()
1193 ctxt->freeStatesMax *= 2; in xmlRelaxNGFreeStates()
1195 if ((ctxt == NULL) || (ctxt->freeStates == NULL)) { in xmlRelaxNGFreeStates()
1199 ctxt->freeStates[ctxt->freeStatesNr++] = states; in xmlRelaxNGFreeStates()
1213 xmlRelaxNGNewValidState(xmlRelaxNGValidCtxtPtr ctxt, xmlNodePtr node) in xmlRelaxNGNewValidState() argument
1222 root = xmlDocGetRootElement(ctxt->doc); in xmlRelaxNGNewValidState()
1235 if ((ctxt->freeState != NULL) && (ctxt->freeState->nbState > 0)) { in xmlRelaxNGNewValidState()
1236 ctxt->freeState->nbState--; in xmlRelaxNGNewValidState()
1237 ret = ctxt->freeState->tabState[ctxt->freeState->nbState]; in xmlRelaxNGNewValidState()
1243 xmlRngVErrMemory(ctxt, "allocating states\n"); in xmlRelaxNGNewValidState()
1251 ret->node = (xmlNodePtr) ctxt->doc; in xmlRelaxNGNewValidState()
1267 xmlRngVErrMemory(ctxt, "allocating states\n"); in xmlRelaxNGNewValidState()
1276 xmlRngVErrMemory(ctxt, "allocating states\n"); in xmlRelaxNGNewValidState()
1308 xmlRelaxNGCopyValidState(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGCopyValidState() argument
1317 if ((ctxt->freeState != NULL) && (ctxt->freeState->nbState > 0)) { in xmlRelaxNGCopyValidState()
1318 ctxt->freeState->nbState--; in xmlRelaxNGCopyValidState()
1319 ret = ctxt->freeState->tabState[ctxt->freeState->nbState]; in xmlRelaxNGCopyValidState()
1325 xmlRngVErrMemory(ctxt, "allocating states\n"); in xmlRelaxNGCopyValidState()
1341 xmlRngVErrMemory(ctxt, "allocating states\n"); in xmlRelaxNGCopyValidState()
1351 xmlRngVErrMemory(ctxt, "allocating states\n"); in xmlRelaxNGCopyValidState()
1375 xmlRelaxNGEqualValidState(xmlRelaxNGValidCtxtPtr ctxt ATTRIBUTE_UNUSED, in xmlRelaxNGEqualValidState()
1412 xmlRelaxNGFreeValidState(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGFreeValidState() argument
1418 if ((ctxt != NULL) && (ctxt->freeState == NULL)) { in xmlRelaxNGFreeValidState()
1419 ctxt->freeState = xmlRelaxNGNewStates(ctxt, 40); in xmlRelaxNGFreeValidState()
1421 if ((ctxt == NULL) || (ctxt->freeState == NULL)) { in xmlRelaxNGFreeValidState()
1426 xmlRelaxNGAddStatesUniq(ctxt, ctxt->freeState, state); in xmlRelaxNGFreeValidState()
1447 xmlRelaxParserSetFlag(xmlRelaxNGParserCtxtPtr ctxt, int flags) in xmlRelaxParserSetFlag() argument
1449 if (ctxt == NULL) return(-1); in xmlRelaxParserSetFlag()
1451 ctxt->crng |= XML_RELAXNGP_FREE_DOC; in xmlRelaxParserSetFlag()
1455 ctxt->crng |= XML_RELAXNGP_CRNG; in xmlRelaxParserSetFlag()
1467 static xmlDocPtr xmlRelaxNGCleanupDoc(xmlRelaxNGParserCtxtPtr ctxt,
1480 xmlRelaxNGIncludePush(xmlRelaxNGParserCtxtPtr ctxt, in xmlRelaxNGIncludePush() argument
1483 if (ctxt->incTab == NULL) { in xmlRelaxNGIncludePush()
1484 ctxt->incMax = 4; in xmlRelaxNGIncludePush()
1485 ctxt->incNr = 0; in xmlRelaxNGIncludePush()
1486 ctxt->incTab = in xmlRelaxNGIncludePush()
1487 (xmlRelaxNGIncludePtr *) xmlMalloc(ctxt->incMax * in xmlRelaxNGIncludePush()
1488 sizeof(ctxt->incTab[0])); in xmlRelaxNGIncludePush()
1489 if (ctxt->incTab == NULL) { in xmlRelaxNGIncludePush()
1490 xmlRngPErrMemory(ctxt, "allocating include\n"); in xmlRelaxNGIncludePush()
1494 if (ctxt->incNr >= ctxt->incMax) { in xmlRelaxNGIncludePush()
1495 ctxt->incMax *= 2; in xmlRelaxNGIncludePush()
1496 ctxt->incTab = in xmlRelaxNGIncludePush()
1497 (xmlRelaxNGIncludePtr *) xmlRealloc(ctxt->incTab, in xmlRelaxNGIncludePush()
1498 ctxt->incMax * in xmlRelaxNGIncludePush()
1499 sizeof(ctxt->incTab[0])); in xmlRelaxNGIncludePush()
1500 if (ctxt->incTab == NULL) { in xmlRelaxNGIncludePush()
1501 xmlRngPErrMemory(ctxt, "allocating include\n"); in xmlRelaxNGIncludePush()
1505 ctxt->incTab[ctxt->incNr] = value; in xmlRelaxNGIncludePush()
1506 ctxt->inc = value; in xmlRelaxNGIncludePush()
1507 return (ctxt->incNr++); in xmlRelaxNGIncludePush()
1519 xmlRelaxNGIncludePop(xmlRelaxNGParserCtxtPtr ctxt) in xmlRelaxNGIncludePop() argument
1523 if (ctxt->incNr <= 0) in xmlRelaxNGIncludePop()
1525 ctxt->incNr--; in xmlRelaxNGIncludePop()
1526 if (ctxt->incNr > 0) in xmlRelaxNGIncludePop()
1527 ctxt->inc = ctxt->incTab[ctxt->incNr - 1]; in xmlRelaxNGIncludePop()
1529 ctxt->inc = NULL; in xmlRelaxNGIncludePop()
1530 ret = ctxt->incTab[ctxt->incNr]; in xmlRelaxNGIncludePop()
1531 ctxt->incTab[ctxt->incNr] = NULL; in xmlRelaxNGIncludePop()
1547 xmlRelaxNGRemoveRedefine(xmlRelaxNGParserCtxtPtr ctxt, in xmlRelaxNGRemoveRedefine() argument
1594 if (xmlRelaxNGRemoveRedefine(ctxt, href, in xmlRelaxNGRemoveRedefine()
1605 if (xmlRelaxNGRemoveRedefine(ctxt, URL, tmp->children, name) == 1) { in xmlRelaxNGRemoveRedefine()
1628 xmlRelaxNGLoadInclude(xmlRelaxNGParserCtxtPtr ctxt, const xmlChar * URL, in xmlRelaxNGLoadInclude() argument
1644 for (i = 0; i < ctxt->incNr; i++) { in xmlRelaxNGLoadInclude()
1645 if (xmlStrEqual(ctxt->incTab[i]->href, URL)) { in xmlRelaxNGLoadInclude()
1646 xmlRngPErr(ctxt, NULL, XML_RNGP_INCLUDE_RECURSE, in xmlRelaxNGLoadInclude()
1658 xmlRngPErr(ctxt, node, XML_RNGP_PARSE_ERROR, in xmlRelaxNGLoadInclude()
1671 xmlRngPErrMemory(ctxt, "allocating include\n"); in xmlRelaxNGLoadInclude()
1678 ret->next = ctxt->includes; in xmlRelaxNGLoadInclude()
1679 ctxt->includes = ret; in xmlRelaxNGLoadInclude()
1696 xmlRelaxNGIncludePush(ctxt, ret); in xmlRelaxNGLoadInclude()
1706 doc = xmlRelaxNGCleanupDoc(ctxt, doc); in xmlRelaxNGLoadInclude()
1708 ctxt->inc = NULL; in xmlRelaxNGLoadInclude()
1715 xmlRelaxNGIncludePop(ctxt); in xmlRelaxNGLoadInclude()
1725 xmlRngPErr(ctxt, node, XML_RNGP_EMPTY, in xmlRelaxNGLoadInclude()
1731 xmlRngPErr(ctxt, node, XML_RNGP_GRAMMAR_MISSING, in xmlRelaxNGLoadInclude()
1746 xmlRelaxNGRemoveRedefine(ctxt, URL, root->children, NULL); in xmlRelaxNGLoadInclude()
1748 xmlRngPErr(ctxt, node, XML_RNGP_START_MISSING, in xmlRelaxNGLoadInclude()
1757 xmlRngPErr(ctxt, node, XML_RNGP_NAME_MISSING, in xmlRelaxNGLoadInclude()
1764 found = xmlRelaxNGRemoveRedefine(ctxt, URL, in xmlRelaxNGLoadInclude()
1767 xmlRngPErr(ctxt, node, XML_RNGP_DEFINE_MISSING, in xmlRelaxNGLoadInclude()
1805 xmlRelaxNGValidErrorPush(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGValidErrorPush() argument
1813 "Pushing error %d at %d on stack\n", err, ctxt->errNr); in xmlRelaxNGValidErrorPush()
1815 if (ctxt->errTab == NULL) { in xmlRelaxNGValidErrorPush()
1816 ctxt->errMax = 8; in xmlRelaxNGValidErrorPush()
1817 ctxt->errNr = 0; in xmlRelaxNGValidErrorPush()
1818 ctxt->errTab = in xmlRelaxNGValidErrorPush()
1819 (xmlRelaxNGValidErrorPtr) xmlMalloc(ctxt->errMax * in xmlRelaxNGValidErrorPush()
1822 if (ctxt->errTab == NULL) { in xmlRelaxNGValidErrorPush()
1823 xmlRngVErrMemory(ctxt, "pushing error\n"); in xmlRelaxNGValidErrorPush()
1826 ctxt->err = NULL; in xmlRelaxNGValidErrorPush()
1828 if (ctxt->errNr >= ctxt->errMax) { in xmlRelaxNGValidErrorPush()
1829 ctxt->errMax *= 2; in xmlRelaxNGValidErrorPush()
1830 ctxt->errTab = in xmlRelaxNGValidErrorPush()
1831 (xmlRelaxNGValidErrorPtr) xmlRealloc(ctxt->errTab, in xmlRelaxNGValidErrorPush()
1832 ctxt->errMax * in xmlRelaxNGValidErrorPush()
1835 if (ctxt->errTab == NULL) { in xmlRelaxNGValidErrorPush()
1836 xmlRngVErrMemory(ctxt, "pushing error\n"); in xmlRelaxNGValidErrorPush()
1839 ctxt->err = &ctxt->errTab[ctxt->errNr - 1]; in xmlRelaxNGValidErrorPush()
1841 if ((ctxt->err != NULL) && (ctxt->state != NULL) && in xmlRelaxNGValidErrorPush()
1842 (ctxt->err->node == ctxt->state->node) && (ctxt->err->err == err)) in xmlRelaxNGValidErrorPush()
1843 return (ctxt->errNr); in xmlRelaxNGValidErrorPush()
1844 cur = &ctxt->errTab[ctxt->errNr]; in xmlRelaxNGValidErrorPush()
1855 if (ctxt->state != NULL) { in xmlRelaxNGValidErrorPush()
1856 cur->node = ctxt->state->node; in xmlRelaxNGValidErrorPush()
1857 cur->seq = ctxt->state->seq; in xmlRelaxNGValidErrorPush()
1862 ctxt->err = cur; in xmlRelaxNGValidErrorPush()
1863 return (ctxt->errNr++); in xmlRelaxNGValidErrorPush()
1873 xmlRelaxNGValidErrorPop(xmlRelaxNGValidCtxtPtr ctxt) in xmlRelaxNGValidErrorPop() argument
1877 if (ctxt->errNr <= 0) { in xmlRelaxNGValidErrorPop()
1878 ctxt->err = NULL; in xmlRelaxNGValidErrorPop()
1881 ctxt->errNr--; in xmlRelaxNGValidErrorPop()
1882 if (ctxt->errNr > 0) in xmlRelaxNGValidErrorPop()
1883 ctxt->err = &ctxt->errTab[ctxt->errNr - 1]; in xmlRelaxNGValidErrorPop()
1885 ctxt->err = NULL; in xmlRelaxNGValidErrorPop()
1886 cur = &ctxt->errTab[ctxt->errNr]; in xmlRelaxNGValidErrorPop()
1908 xmlRelaxNGDocumentPush(xmlRelaxNGParserCtxtPtr ctxt, in xmlRelaxNGDocumentPush() argument
1911 if (ctxt->docTab == NULL) { in xmlRelaxNGDocumentPush()
1912 ctxt->docMax = 4; in xmlRelaxNGDocumentPush()
1913 ctxt->docNr = 0; in xmlRelaxNGDocumentPush()
1914 ctxt->docTab = in xmlRelaxNGDocumentPush()
1915 (xmlRelaxNGDocumentPtr *) xmlMalloc(ctxt->docMax * in xmlRelaxNGDocumentPush()
1916 sizeof(ctxt->docTab[0])); in xmlRelaxNGDocumentPush()
1917 if (ctxt->docTab == NULL) { in xmlRelaxNGDocumentPush()
1918 xmlRngPErrMemory(ctxt, "adding document\n"); in xmlRelaxNGDocumentPush()
1922 if (ctxt->docNr >= ctxt->docMax) { in xmlRelaxNGDocumentPush()
1923 ctxt->docMax *= 2; in xmlRelaxNGDocumentPush()
1924 ctxt->docTab = in xmlRelaxNGDocumentPush()
1925 (xmlRelaxNGDocumentPtr *) xmlRealloc(ctxt->docTab, in xmlRelaxNGDocumentPush()
1926 ctxt->docMax * in xmlRelaxNGDocumentPush()
1927 sizeof(ctxt->docTab[0])); in xmlRelaxNGDocumentPush()
1928 if (ctxt->docTab == NULL) { in xmlRelaxNGDocumentPush()
1929 xmlRngPErrMemory(ctxt, "adding document\n"); in xmlRelaxNGDocumentPush()
1933 ctxt->docTab[ctxt->docNr] = value; in xmlRelaxNGDocumentPush()
1934 ctxt->doc = value; in xmlRelaxNGDocumentPush()
1935 return (ctxt->docNr++); in xmlRelaxNGDocumentPush()
1947 xmlRelaxNGDocumentPop(xmlRelaxNGParserCtxtPtr ctxt) in xmlRelaxNGDocumentPop() argument
1951 if (ctxt->docNr <= 0) in xmlRelaxNGDocumentPop()
1953 ctxt->docNr--; in xmlRelaxNGDocumentPop()
1954 if (ctxt->docNr > 0) in xmlRelaxNGDocumentPop()
1955 ctxt->doc = ctxt->docTab[ctxt->docNr - 1]; in xmlRelaxNGDocumentPop()
1957 ctxt->doc = NULL; in xmlRelaxNGDocumentPop()
1958 ret = ctxt->docTab[ctxt->docNr]; in xmlRelaxNGDocumentPop()
1959 ctxt->docTab[ctxt->docNr] = NULL; in xmlRelaxNGDocumentPop()
1976 xmlRelaxNGLoadExternalRef(xmlRelaxNGParserCtxtPtr ctxt, in xmlRelaxNGLoadExternalRef() argument
1987 for (i = 0; i < ctxt->docNr; i++) { in xmlRelaxNGLoadExternalRef()
1988 if (xmlStrEqual(ctxt->docTab[i]->href, URL)) { in xmlRelaxNGLoadExternalRef()
1989 xmlRngPErr(ctxt, NULL, XML_RNGP_EXTERNALREF_RECURSE, in xmlRelaxNGLoadExternalRef()
2001 xmlRngPErr(ctxt, NULL, XML_RNGP_PARSE_ERROR, in xmlRelaxNGLoadExternalRef()
2011 xmlRngPErr(ctxt, (xmlNodePtr) doc, XML_ERR_NO_MEMORY, in xmlRelaxNGLoadExternalRef()
2019 ret->next = ctxt->documents; in xmlRelaxNGLoadExternalRef()
2021 ctxt->documents = ret; in xmlRelaxNGLoadExternalRef()
2038 xmlRelaxNGDocumentPush(ctxt, ret); in xmlRelaxNGLoadExternalRef()
2043 doc = xmlRelaxNGCleanupDoc(ctxt, doc); in xmlRelaxNGLoadExternalRef()
2045 ctxt->doc = NULL; in xmlRelaxNGLoadExternalRef()
2049 xmlRelaxNGDocumentPop(ctxt); in xmlRelaxNGLoadExternalRef()
2060 #define VALID_ERR(a) xmlRelaxNGAddValidError(ctxt, a, NULL, NULL, 0);
2061 #define VALID_ERR2(a, b) xmlRelaxNGAddValidError(ctxt, a, b, NULL, 0);
2062 #define VALID_ERR3(a, b, c) xmlRelaxNGAddValidError(ctxt, a, b, c, 0);
2063 #define VALID_ERR2P(a, b) xmlRelaxNGAddValidError(ctxt, a, b, NULL, 1);
2064 #define VALID_ERR3P(a, b, c) xmlRelaxNGAddValidError(ctxt, a, b, c, 1);
2279 xmlRelaxNGShowValidError(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGShowValidError() argument
2286 if (ctxt->flags & FLAGS_NOERROR) in xmlRelaxNGShowValidError()
2296 if (ctxt->errNo == XML_RELAXNG_OK) in xmlRelaxNGShowValidError()
2297 ctxt->errNo = err; in xmlRelaxNGShowValidError()
2298 xmlRngVErr(ctxt, (child == NULL ? node : child), err, in xmlRelaxNGShowValidError()
2311 xmlRelaxNGPopErrors(xmlRelaxNGValidCtxtPtr ctxt, int level) in xmlRelaxNGPopErrors() argument
2320 for (i = level; i < ctxt->errNr; i++) { in xmlRelaxNGPopErrors()
2321 err = &ctxt->errTab[i]; in xmlRelaxNGPopErrors()
2332 ctxt->errNr = level; in xmlRelaxNGPopErrors()
2333 if (ctxt->errNr <= 0) in xmlRelaxNGPopErrors()
2334 ctxt->err = NULL; in xmlRelaxNGPopErrors()
2344 xmlRelaxNGDumpValidError(xmlRelaxNGValidCtxtPtr ctxt) in xmlRelaxNGDumpValidError() argument
2351 "Dumping error stack %d errors\n", ctxt->errNr); in xmlRelaxNGDumpValidError()
2353 for (i = 0, k = 0; i < ctxt->errNr; i++) { in xmlRelaxNGDumpValidError()
2354 err = &ctxt->errTab[i]; in xmlRelaxNGDumpValidError()
2357 dup = &ctxt->errTab[j]; in xmlRelaxNGDumpValidError()
2364 xmlRelaxNGShowValidError(ctxt, err->err, err->node, err->seq, in xmlRelaxNGDumpValidError()
2379 ctxt->errNr = 0; in xmlRelaxNGDumpValidError()
2394 xmlRelaxNGAddValidError(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGAddValidError() argument
2398 if (ctxt == NULL) in xmlRelaxNGAddValidError()
2400 if (ctxt->flags & FLAGS_NOERROR) in xmlRelaxNGAddValidError()
2409 if (((ctxt->flags & FLAGS_IGNORABLE) == 0) || in xmlRelaxNGAddValidError()
2410 (ctxt->flags & FLAGS_NEGATIVE)) { in xmlRelaxNGAddValidError()
2417 if (ctxt->errNr != 0) in xmlRelaxNGAddValidError()
2418 xmlRelaxNGDumpValidError(ctxt); in xmlRelaxNGAddValidError()
2419 if (ctxt->state != NULL) { in xmlRelaxNGAddValidError()
2420 node = ctxt->state->node; in xmlRelaxNGAddValidError()
2421 seq = ctxt->state->seq; in xmlRelaxNGAddValidError()
2426 node = ctxt->pnode; in xmlRelaxNGAddValidError()
2428 xmlRelaxNGShowValidError(ctxt, err, node, seq, arg1, arg2); in xmlRelaxNGAddValidError()
2434 xmlRelaxNGValidErrorPush(ctxt, err, arg1, arg2, dup); in xmlRelaxNGAddValidError()
2444 static xmlChar *xmlRelaxNGNormalize(xmlRelaxNGValidCtxtPtr ctxt,
2906 static int xmlRelaxNGTryCompile(xmlRelaxNGParserCtxtPtr ctxt,
3069 xmlRelaxNGCompile(xmlRelaxNGParserCtxtPtr ctxt, xmlRelaxNGDefinePtr def) in xmlRelaxNGCompile() argument
3074 if ((ctxt == NULL) || (def == NULL)) in xmlRelaxNGCompile()
3080 xmlAutomataPtr oldam = ctxt->am; in xmlRelaxNGCompile()
3081 xmlAutomataStatePtr oldstate = ctxt->state; in xmlRelaxNGCompile()
3086 ctxt->am = xmlNewAutomata(); in xmlRelaxNGCompile()
3087 if (ctxt->am == NULL) in xmlRelaxNGCompile()
3098 xmlAutomataSetFlags(ctxt->am, 1); in xmlRelaxNGCompile()
3100 ctxt->state = xmlAutomataGetInitState(ctxt->am); in xmlRelaxNGCompile()
3102 xmlRelaxNGCompile(ctxt, list); in xmlRelaxNGCompile()
3105 xmlAutomataSetFinalState(ctxt->am, ctxt->state); in xmlRelaxNGCompile()
3106 if (xmlAutomataIsDeterminist(ctxt->am)) in xmlRelaxNGCompile()
3107 def->contModel = xmlAutomataCompile(ctxt->am); in xmlRelaxNGCompile()
3109 xmlFreeAutomata(ctxt->am); in xmlRelaxNGCompile()
3110 ctxt->state = oldstate; in xmlRelaxNGCompile()
3111 ctxt->am = oldam; in xmlRelaxNGCompile()
3115 if ((ctxt->am != NULL) && (def->name != NULL)) { in xmlRelaxNGCompile()
3116 ctxt->state = xmlAutomataNewTransition2(ctxt->am, in xmlRelaxNGCompile()
3117 ctxt->state, NULL, in xmlRelaxNGCompile()
3122 xmlAutomataPtr oldam = ctxt->am; in xmlRelaxNGCompile()
3123 xmlAutomataStatePtr oldstate = ctxt->state; in xmlRelaxNGCompile()
3128 ctxt->am = xmlNewAutomata(); in xmlRelaxNGCompile()
3129 if (ctxt->am == NULL) in xmlRelaxNGCompile()
3131 xmlAutomataSetFlags(ctxt->am, 1); in xmlRelaxNGCompile()
3132 ctxt->state = xmlAutomataGetInitState(ctxt->am); in xmlRelaxNGCompile()
3134 xmlRelaxNGCompile(ctxt, list); in xmlRelaxNGCompile()
3137 xmlAutomataSetFinalState(ctxt->am, ctxt->state); in xmlRelaxNGCompile()
3138 def->contModel = xmlAutomataCompile(ctxt->am); in xmlRelaxNGCompile()
3151 xmlFreeAutomata(ctxt->am); in xmlRelaxNGCompile()
3152 ctxt->state = oldstate; in xmlRelaxNGCompile()
3153 ctxt->am = oldam; in xmlRelaxNGCompile()
3155 xmlAutomataPtr oldam = ctxt->am; in xmlRelaxNGCompile()
3162 ret = xmlRelaxNGTryCompile(ctxt, def); in xmlRelaxNGCompile()
3163 ctxt->am = oldam; in xmlRelaxNGCompile()
3167 ret = xmlRelaxNGCompile(ctxt, def->content); in xmlRelaxNGCompile()
3170 xmlAutomataStatePtr oldstate = ctxt->state; in xmlRelaxNGCompile()
3174 xmlRelaxNGCompile(ctxt, list); in xmlRelaxNGCompile()
3177 xmlAutomataNewEpsilon(ctxt->am, oldstate, ctxt->state); in xmlRelaxNGCompile()
3183 ctxt->state = in xmlRelaxNGCompile()
3184 xmlAutomataNewEpsilon(ctxt->am, ctxt->state, NULL); in xmlRelaxNGCompile()
3185 oldstate = ctxt->state; in xmlRelaxNGCompile()
3188 xmlRelaxNGCompile(ctxt, list); in xmlRelaxNGCompile()
3191 xmlAutomataNewEpsilon(ctxt->am, ctxt->state, oldstate); in xmlRelaxNGCompile()
3192 ctxt->state = in xmlRelaxNGCompile()
3193 xmlAutomataNewEpsilon(ctxt->am, oldstate, NULL); in xmlRelaxNGCompile()
3201 xmlRelaxNGCompile(ctxt, list); in xmlRelaxNGCompile()
3204 oldstate = ctxt->state; in xmlRelaxNGCompile()
3207 xmlRelaxNGCompile(ctxt, list); in xmlRelaxNGCompile()
3210 xmlAutomataNewEpsilon(ctxt->am, ctxt->state, oldstate); in xmlRelaxNGCompile()
3211 ctxt->state = in xmlRelaxNGCompile()
3212 xmlAutomataNewEpsilon(ctxt->am, oldstate, NULL); in xmlRelaxNGCompile()
3217 xmlAutomataStatePtr oldstate = ctxt->state; in xmlRelaxNGCompile()
3221 ctxt->state = oldstate; in xmlRelaxNGCompile()
3222 ret = xmlRelaxNGCompile(ctxt, list); in xmlRelaxNGCompile()
3226 target = ctxt->state; in xmlRelaxNGCompile()
3228 xmlAutomataNewEpsilon(ctxt->am, ctxt->state, in xmlRelaxNGCompile()
3233 ctxt->state = target; in xmlRelaxNGCompile()
3244 ret = xmlRelaxNGCompile(ctxt, list); in xmlRelaxNGCompile()
3253 ctxt->state = in xmlRelaxNGCompile()
3254 xmlAutomataNewEpsilon(ctxt->am, ctxt->state, NULL); in xmlRelaxNGCompile()
3255 oldstate = ctxt->state; in xmlRelaxNGCompile()
3256 xmlRelaxNGCompile(ctxt, def->content); in xmlRelaxNGCompile()
3257 xmlAutomataNewTransition(ctxt->am, ctxt->state, in xmlRelaxNGCompile()
3258 ctxt->state, BAD_CAST "#text", in xmlRelaxNGCompile()
3260 ctxt->state = in xmlRelaxNGCompile()
3261 xmlAutomataNewEpsilon(ctxt->am, oldstate, NULL); in xmlRelaxNGCompile()
3265 ctxt->state = in xmlRelaxNGCompile()
3266 xmlAutomataNewEpsilon(ctxt->am, ctxt->state, NULL); in xmlRelaxNGCompile()
3295 xmlRelaxNGTryCompile(xmlRelaxNGParserCtxtPtr ctxt, xmlRelaxNGDefinePtr def) in xmlRelaxNGTryCompile() argument
3300 if ((ctxt == NULL) || (def == NULL)) in xmlRelaxNGTryCompile()
3307 ctxt->am = NULL; in xmlRelaxNGTryCompile()
3308 ret = xmlRelaxNGCompile(ctxt, def); in xmlRelaxNGTryCompile()
3332 ret = xmlRelaxNGTryCompile(ctxt, def->content); in xmlRelaxNGTryCompile()
3355 ret = xmlRelaxNGTryCompile(ctxt, list); in xmlRelaxNGTryCompile()
3378 ctxt, xmlNodePtr node);
3380 ctxt, xmlNodePtr node);
3382 ctxt, xmlNodePtr nodes,
3385 ctxt, xmlNodePtr node);
3386 static xmlRelaxNGPtr xmlRelaxNGParseDocument(xmlRelaxNGParserCtxtPtr ctxt,
3388 static int xmlRelaxNGParseGrammarContent(xmlRelaxNGParserCtxtPtr ctxt,
3391 ctxt, xmlNodePtr node,
3395 ctxt, xmlNodePtr nodes);
3396 static int xmlRelaxNGElementMatch(xmlRelaxNGValidCtxtPtr ctxt,
3513 xmlRelaxNGGetDataTypeLibrary(xmlRelaxNGParserCtxtPtr ctxt ATTRIBUTE_UNUSED, in xmlRelaxNGGetDataTypeLibrary()
3566 xmlRelaxNGParseValue(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) in xmlRelaxNGParseValue() argument
3574 def = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParseValue()
3583 xmlRngPErr(ctxt, node, XML_RNGP_TYPE_VALUE, in xmlRelaxNGParseValue()
3586 library = xmlRelaxNGGetDataTypeLibrary(ctxt, node); in xmlRelaxNGParseValue()
3597 xmlRngPErr(ctxt, node, XML_RNGP_UNKNOWN_TYPE_LIB, in xmlRelaxNGParseValue()
3604 xmlRngPErr(ctxt, node, XML_RNGP_ERROR_TYPE_LIB, in xmlRelaxNGParseValue()
3610 xmlRngPErr(ctxt, node, XML_RNGP_TYPE_NOT_FOUND, in xmlRelaxNGParseValue()
3622 xmlRngPErr(ctxt, node, XML_RNGP_TEXT_EXPECTED, in xmlRelaxNGParseValue()
3628 xmlRngPErr(ctxt, node, XML_RNGP_VALUE_NO_CONTENT, in xmlRelaxNGParseValue()
3636 xmlRngPErr(ctxt, node, XML_RNGP_INVALID_VALUE, in xmlRelaxNGParseValue()
3658 xmlRelaxNGParseData(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) in xmlRelaxNGParseData() argument
3670 xmlRngPErr(ctxt, node, XML_RNGP_TYPE_MISSING, "data has no type\n", NULL, in xmlRelaxNGParseData()
3676 xmlRngPErr(ctxt, node, XML_RNGP_TYPE_VALUE, in xmlRelaxNGParseData()
3679 library = xmlRelaxNGGetDataTypeLibrary(ctxt, node); in xmlRelaxNGParseData()
3684 def = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParseData()
3696 xmlRngPErr(ctxt, node, XML_RNGP_UNKNOWN_TYPE_LIB, in xmlRelaxNGParseData()
3703 xmlRngPErr(ctxt, node, XML_RNGP_ERROR_TYPE_LIB, in xmlRelaxNGParseData()
3709 xmlRngPErr(ctxt, node, XML_RNGP_TYPE_NOT_FOUND, in xmlRelaxNGParseData()
3719 ctxt->idref = 1; in xmlRelaxNGParseData()
3733 xmlRngPErr(ctxt, node, XML_RNGP_PARAM_FORBIDDEN, in xmlRelaxNGParseData()
3741 param = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParseData()
3746 xmlRngPErr(ctxt, node, XML_RNGP_PARAM_NAME_MISSING, in xmlRelaxNGParseData()
3770 except = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParseData()
3778 xmlRngPErr(ctxt, content, XML_RNGP_EXCEPT_NO_CONTENT, in xmlRelaxNGParseData()
3782 tmp2 = xmlRelaxNGParsePattern(ctxt, child); in xmlRelaxNGParseData()
3799 xmlRngPErr(ctxt, content, XML_RNGP_DATA_CONTENT, in xmlRelaxNGParseData()
3829 xmlRelaxNGValidCtxt ctxt; in xmlRelaxNGCompareNameClasses() local
3831 memset(&ctxt, 0, sizeof(xmlRelaxNGValidCtxt)); in xmlRelaxNGCompareNameClasses()
3833 ctxt.flags = FLAGS_IGNORABLE | FLAGS_NOERROR; in xmlRelaxNGCompareNameClasses()
3854 if (xmlRelaxNGElementMatch(&ctxt, def2, &node)) { in xmlRelaxNGCompareNameClasses()
3895 if (xmlRelaxNGElementMatch(&ctxt, def1, &node)) { in xmlRelaxNGCompareNameClasses()
3924 xmlRelaxNGCompareElemDefLists(xmlRelaxNGParserCtxtPtr ctxt in xmlRelaxNGCompareElemDefLists()
3956 xmlRelaxNGGenerateAttributes(xmlRelaxNGParserCtxtPtr ctxt, in xmlRelaxNGGenerateAttributes() argument
3965 if (ctxt->nbErrors != 0) in xmlRelaxNGGenerateAttributes()
4032 xmlRelaxNGGetElements(xmlRelaxNGParserCtxtPtr ctxt, in xmlRelaxNGGetElements() argument
4043 if (ctxt->nbErrors != 0) in xmlRelaxNGGetElements()
4062 xmlRngPErrMemory(ctxt, "getting element list\n"); in xmlRelaxNGGetElements()
4072 xmlRngPErrMemory(ctxt, "getting element list\n"); in xmlRelaxNGGetElements()
4134 xmlRelaxNGCheckChoiceDeterminism(xmlRelaxNGParserCtxtPtr ctxt, in xmlRelaxNGCheckChoiceDeterminism() argument
4155 if (ctxt->nbErrors != 0) in xmlRelaxNGCheckChoiceDeterminism()
4170 xmlRngPErrMemory(ctxt, "building choice\n"); in xmlRelaxNGCheckChoiceDeterminism()
4184 list[i] = xmlRelaxNGGetElements(ctxt, cur, 0); in xmlRelaxNGCheckChoiceDeterminism()
4238 ret = xmlRelaxNGCompareElemDefLists(ctxt, list[i], list[j]); in xmlRelaxNGCheckChoiceDeterminism()
4270 xmlRelaxNGCheckGroupAttrs(xmlRelaxNGParserCtxtPtr ctxt, in xmlRelaxNGCheckGroupAttrs() argument
4289 if (ctxt->nbErrors != 0) in xmlRelaxNGCheckGroupAttrs()
4307 xmlRngPErrMemory(ctxt, "building group\n"); in xmlRelaxNGCheckGroupAttrs()
4313 list[i] = xmlRelaxNGGetElements(ctxt, cur, 1); in xmlRelaxNGCheckGroupAttrs()
4319 list[i] = xmlRelaxNGGetElements(ctxt, cur, 1); in xmlRelaxNGCheckGroupAttrs()
4330 ret = xmlRelaxNGCompareElemDefLists(ctxt, list[i], list[j]); in xmlRelaxNGCheckGroupAttrs()
4332 xmlRngPErr(ctxt, def->node, XML_RNGP_GROUP_ATTR_CONFLICT, in xmlRelaxNGCheckGroupAttrs()
4366 xmlRelaxNGParserCtxtPtr ctxt = (xmlRelaxNGParserCtxtPtr) data; in xmlRelaxNGComputeInterleaves() local
4382 if (ctxt->nbErrors != 0) in xmlRelaxNGComputeInterleaves()
4411 groups[nbgroups]->defs = xmlRelaxNGGetElements(ctxt, cur, 2); in xmlRelaxNGComputeInterleaves()
4412 groups[nbgroups]->attrs = xmlRelaxNGGetElements(ctxt, cur, 1); in xmlRelaxNGComputeInterleaves()
4436 ret = xmlRelaxNGCompareElemDefLists(ctxt, group->defs, in xmlRelaxNGComputeInterleaves()
4439 xmlRngPErr(ctxt, def->node, XML_RNGP_ELEM_TEXT_CONFLICT, in xmlRelaxNGComputeInterleaves()
4443 ret = xmlRelaxNGCompareElemDefLists(ctxt, group->attrs, in xmlRelaxNGComputeInterleaves()
4446 xmlRngPErr(ctxt, def->node, XML_RNGP_ATTR_CONFLICT, in xmlRelaxNGComputeInterleaves()
4509 xmlRngPErrMemory(ctxt, "in interleave computation\n"); in xmlRelaxNGComputeInterleaves()
4532 xmlRelaxNGParseInterleave(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) in xmlRelaxNGParseInterleave() argument
4538 def = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParseInterleave()
4544 if (ctxt->interleaves == NULL) in xmlRelaxNGParseInterleave()
4545 ctxt->interleaves = xmlHashCreate(10); in xmlRelaxNGParseInterleave()
4546 if (ctxt->interleaves == NULL) { in xmlRelaxNGParseInterleave()
4547 xmlRngPErrMemory(ctxt, "create interleaves\n"); in xmlRelaxNGParseInterleave()
4551 snprintf(name, 32, "interleave%d", ctxt->nbInterleaves++); in xmlRelaxNGParseInterleave()
4552 if (xmlHashAddEntry(ctxt->interleaves, BAD_CAST name, def) < 0) { in xmlRelaxNGParseInterleave()
4553 xmlRngPErr(ctxt, node, XML_RNGP_INTERLEAVE_ADD, in xmlRelaxNGParseInterleave()
4560 xmlRngPErr(ctxt, node, XML_RNGP_INTERLEAVE_NO_CONTENT, in xmlRelaxNGParseInterleave()
4565 cur = xmlRelaxNGParseElement(ctxt, child); in xmlRelaxNGParseInterleave()
4567 cur = xmlRelaxNGParsePattern(ctxt, child); in xmlRelaxNGParseInterleave()
4594 xmlRelaxNGParseInclude(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) in xmlRelaxNGParseInclude() argument
4602 xmlRngPErr(ctxt, node, XML_RNGP_INCLUDE_EMPTY, in xmlRelaxNGParseInclude()
4608 xmlRngPErr(ctxt, node, XML_RNGP_EMPTY, "Include document is empty\n", in xmlRelaxNGParseInclude()
4613 xmlRngPErr(ctxt, node, XML_RNGP_GRAMMAR_MISSING, in xmlRelaxNGParseInclude()
4622 tmp = xmlRelaxNGParseGrammarContent(ctxt, root->children); in xmlRelaxNGParseInclude()
4627 tmp = xmlRelaxNGParseGrammarContent(ctxt, node->children); in xmlRelaxNGParseInclude()
4644 xmlRelaxNGParseDefine(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) in xmlRelaxNGParseDefine() argument
4653 xmlRngPErr(ctxt, node, XML_RNGP_DEFINE_NAME_MISSING, in xmlRelaxNGParseDefine()
4658 xmlRngPErr(ctxt, node, XML_RNGP_INVALID_DEFINE_NAME, in xmlRelaxNGParseDefine()
4661 def = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParseDefine()
4669 xmlRngPErr(ctxt, node, XML_RNGP_DEFINE_EMPTY, in xmlRelaxNGParseDefine()
4672 olddefine = ctxt->define; in xmlRelaxNGParseDefine()
4673 ctxt->define = name; in xmlRelaxNGParseDefine()
4675 xmlRelaxNGParsePatterns(ctxt, node->children, 0); in xmlRelaxNGParseDefine()
4676 ctxt->define = olddefine; in xmlRelaxNGParseDefine()
4678 if (ctxt->grammar->defs == NULL) in xmlRelaxNGParseDefine()
4679 ctxt->grammar->defs = xmlHashCreate(10); in xmlRelaxNGParseDefine()
4680 if (ctxt->grammar->defs == NULL) { in xmlRelaxNGParseDefine()
4681 xmlRngPErr(ctxt, node, XML_RNGP_DEFINE_CREATE_FAILED, in xmlRelaxNGParseDefine()
4685 tmp = xmlHashAddEntry(ctxt->grammar->defs, name, def); in xmlRelaxNGParseDefine()
4689 prev = xmlHashLookup(ctxt->grammar->defs, name); in xmlRelaxNGParseDefine()
4691 xmlRngPErr(ctxt, node, XML_RNGP_DEFINE_CREATE_FAILED, in xmlRelaxNGParseDefine()
4716 xmlRelaxNGParserCtxtPtr ctxt = (xmlRelaxNGParserCtxtPtr) data; in xmlRelaxNGParseImportRef() local
4722 tmp = xmlHashAddEntry(ctxt->grammar->refs, name, def); in xmlRelaxNGParseImportRef()
4727 xmlHashLookup(ctxt->grammar->refs, def->name); in xmlRelaxNGParseImportRef()
4730 xmlRngPErr(ctxt, NULL, XML_RNGP_REF_CREATE_FAILED, in xmlRelaxNGParseImportRef()
4734 xmlRngPErr(ctxt, NULL, XML_RNGP_REF_CREATE_FAILED, in xmlRelaxNGParseImportRef()
4755 xmlRelaxNGParseImportRefs(xmlRelaxNGParserCtxtPtr ctxt, in xmlRelaxNGParseImportRefs() argument
4757 if ((ctxt == NULL) || (grammar == NULL) || (ctxt->grammar == NULL)) in xmlRelaxNGParseImportRefs()
4761 if (ctxt->grammar->refs == NULL) in xmlRelaxNGParseImportRefs()
4762 ctxt->grammar->refs = xmlHashCreate(10); in xmlRelaxNGParseImportRefs()
4763 if (ctxt->grammar->refs == NULL) { in xmlRelaxNGParseImportRefs()
4764 xmlRngPErr(ctxt, NULL, XML_RNGP_REF_CREATE_FAILED, in xmlRelaxNGParseImportRefs()
4768 xmlHashScan(grammar->refs, xmlRelaxNGParseImportRef, ctxt); in xmlRelaxNGParseImportRefs()
4782 xmlRelaxNGProcessExternalRef(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) in xmlRelaxNGProcessExternalRef() argument
4792 def = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGProcessExternalRef()
4803 xmlRngPErr(ctxt, node, XML_RNGP_EXTERNALREF_EMTPY, in xmlRelaxNGProcessExternalRef()
4804 "xmlRelaxNGParse: %s is empty\n", ctxt->URL, in xmlRelaxNGProcessExternalRef()
4833 oldflags = ctxt->flags; in xmlRelaxNGProcessExternalRef()
4834 ctxt->flags |= XML_RELAXNG_IN_EXTERNALREF; in xmlRelaxNGProcessExternalRef()
4835 docu->schema = xmlRelaxNGParseDocument(ctxt, root); in xmlRelaxNGProcessExternalRef()
4836 ctxt->flags = oldflags; in xmlRelaxNGProcessExternalRef()
4841 xmlRelaxNGParseImportRefs(ctxt, docu->schema->topgrammar); in xmlRelaxNGProcessExternalRef()
4869 xmlRelaxNGParsePattern(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) in xmlRelaxNGParsePattern() argument
4877 def = xmlRelaxNGParseElement(ctxt, node); in xmlRelaxNGParsePattern()
4879 def = xmlRelaxNGParseAttribute(ctxt, node); in xmlRelaxNGParsePattern()
4881 def = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParsePattern()
4886 xmlRngPErr(ctxt, node, XML_RNGP_EMPTY_NOT_EMPTY, in xmlRelaxNGParsePattern()
4890 def = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParsePattern()
4895 xmlRngPErr(ctxt, node, XML_RNGP_TEXT_HAS_CHILD, in xmlRelaxNGParsePattern()
4899 def = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParsePattern()
4904 xmlRngPErr(ctxt, node, XML_RNGP_EMPTY_CONSTRUCT, in xmlRelaxNGParsePattern()
4908 xmlRelaxNGParsePatterns(ctxt, node->children, 1); in xmlRelaxNGParsePattern()
4911 def = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParsePattern()
4916 xmlRngPErr(ctxt, node, XML_RNGP_EMPTY_CONSTRUCT, in xmlRelaxNGParsePattern()
4920 xmlRelaxNGParsePatterns(ctxt, node->children, 1); in xmlRelaxNGParsePattern()
4923 def = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParsePattern()
4928 xmlRngPErr(ctxt, node, XML_RNGP_EMPTY_CONSTRUCT, in xmlRelaxNGParsePattern()
4932 xmlRelaxNGParsePatterns(ctxt, node->children, 1); in xmlRelaxNGParsePattern()
4935 def = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParsePattern()
4940 xmlRngPErr(ctxt, node, XML_RNGP_EMPTY_CONSTRUCT, in xmlRelaxNGParsePattern()
4944 xmlRelaxNGParsePatterns(ctxt, node->children, 0); in xmlRelaxNGParsePattern()
4947 def = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParsePattern()
4952 xmlRngPErr(ctxt, node, XML_RNGP_EMPTY_CONSTRUCT, in xmlRelaxNGParsePattern()
4956 xmlRelaxNGParsePatterns(ctxt, node->children, 0); in xmlRelaxNGParsePattern()
4959 def = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParsePattern()
4965 xmlRngPErr(ctxt, node, XML_RNGP_REF_NO_NAME, "ref has no name\n", in xmlRelaxNGParsePattern()
4970 xmlRngPErr(ctxt, node, XML_RNGP_REF_NAME_INVALID, in xmlRelaxNGParsePattern()
4976 xmlRngPErr(ctxt, node, XML_RNGP_REF_NOT_EMPTY, "ref is not empty\n", in xmlRelaxNGParsePattern()
4979 if (ctxt->grammar->refs == NULL) in xmlRelaxNGParsePattern()
4980 ctxt->grammar->refs = xmlHashCreate(10); in xmlRelaxNGParsePattern()
4981 if (ctxt->grammar->refs == NULL) { in xmlRelaxNGParsePattern()
4982 xmlRngPErr(ctxt, node, XML_RNGP_REF_CREATE_FAILED, in xmlRelaxNGParsePattern()
4988 tmp = xmlHashAddEntry(ctxt->grammar->refs, def->name, def); in xmlRelaxNGParsePattern()
4993 xmlHashLookup(ctxt->grammar->refs, def->name); in xmlRelaxNGParsePattern()
4996 xmlRngPErr(ctxt, node, XML_RNGP_REF_CREATE_FAILED, in xmlRelaxNGParsePattern()
5000 xmlRngPErr(ctxt, node, XML_RNGP_REF_CREATE_FAILED, in xmlRelaxNGParsePattern()
5012 def = xmlRelaxNGParseData(ctxt, node); in xmlRelaxNGParsePattern()
5014 def = xmlRelaxNGParseValue(ctxt, node); in xmlRelaxNGParsePattern()
5016 def = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParsePattern()
5021 xmlRngPErr(ctxt, node, XML_RNGP_EMPTY_CONSTRUCT, in xmlRelaxNGParsePattern()
5025 xmlRelaxNGParsePatterns(ctxt, node->children, 0); in xmlRelaxNGParsePattern()
5028 def = xmlRelaxNGParseInterleave(ctxt, node); in xmlRelaxNGParsePattern()
5030 def = xmlRelaxNGProcessExternalRef(ctxt, node); in xmlRelaxNGParsePattern()
5032 def = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParsePattern()
5037 xmlRngPErr(ctxt, node, XML_RNGP_NOTALLOWED_NOT_EMPTY, in xmlRelaxNGParsePattern()
5050 oldparent = ctxt->parentgrammar; in xmlRelaxNGParsePattern()
5051 old = ctxt->grammar; in xmlRelaxNGParsePattern()
5052 ctxt->parentgrammar = old; in xmlRelaxNGParsePattern()
5053 grammar = xmlRelaxNGParseGrammar(ctxt, node->children); in xmlRelaxNGParsePattern()
5055 ctxt->grammar = old; in xmlRelaxNGParsePattern()
5056 ctxt->parentgrammar = oldparent; in xmlRelaxNGParsePattern()
5069 if (ctxt->parentgrammar == NULL) { in xmlRelaxNGParsePattern()
5070 xmlRngPErr(ctxt, node, XML_RNGP_PARENTREF_NO_PARENT, in xmlRelaxNGParsePattern()
5075 def = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParsePattern()
5081 xmlRngPErr(ctxt, node, XML_RNGP_PARENTREF_NO_NAME, in xmlRelaxNGParsePattern()
5086 xmlRngPErr(ctxt, node, XML_RNGP_PARENTREF_NAME_INVALID, in xmlRelaxNGParsePattern()
5092 xmlRngPErr(ctxt, node, XML_RNGP_PARENTREF_NOT_EMPTY, in xmlRelaxNGParsePattern()
5095 if (ctxt->parentgrammar->refs == NULL) in xmlRelaxNGParsePattern()
5096 ctxt->parentgrammar->refs = xmlHashCreate(10); in xmlRelaxNGParsePattern()
5097 if (ctxt->parentgrammar->refs == NULL) { in xmlRelaxNGParsePattern()
5098 xmlRngPErr(ctxt, node, XML_RNGP_PARENTREF_CREATE_FAILED, in xmlRelaxNGParsePattern()
5105 xmlHashAddEntry(ctxt->parentgrammar->refs, def->name, def); in xmlRelaxNGParsePattern()
5110 xmlHashLookup(ctxt->parentgrammar->refs, def->name); in xmlRelaxNGParsePattern()
5112 xmlRngPErr(ctxt, node, XML_RNGP_PARENTREF_CREATE_FAILED, in xmlRelaxNGParsePattern()
5124 xmlRngPErr(ctxt, node, XML_RNGP_EMPTY_CONSTRUCT, "Mixed is empty\n", in xmlRelaxNGParsePattern()
5128 def = xmlRelaxNGParseInterleave(ctxt, node); in xmlRelaxNGParsePattern()
5133 tmp = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParsePattern()
5141 tmp = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParsePattern()
5150 xmlRngPErr(ctxt, node, XML_RNGP_UNKNOWN_CONSTRUCT, in xmlRelaxNGParsePattern()
5168 xmlRelaxNGParseAttribute(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) in xmlRelaxNGParseAttribute() argument
5174 ret = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParseAttribute()
5178 ret->parent = ctxt->def; in xmlRelaxNGParseAttribute()
5181 xmlRngPErr(ctxt, node, XML_RNGP_ATTRIBUTE_EMPTY, in xmlRelaxNGParseAttribute()
5186 old_flags = ctxt->flags; in xmlRelaxNGParseAttribute()
5187 ctxt->flags |= XML_RELAXNG_IN_ATTRIBUTE; in xmlRelaxNGParseAttribute()
5188 cur = xmlRelaxNGParseNameClass(ctxt, child, ret); in xmlRelaxNGParseAttribute()
5193 cur = xmlRelaxNGParsePattern(ctxt, child); in xmlRelaxNGParseAttribute()
5220 xmlRngPErr(ctxt, node, XML_RNGP_ATTRIBUTE_CONTENT, in xmlRelaxNGParseAttribute()
5225 xmlRngPErr(ctxt, node, XML_RNGP_ATTRIBUTE_NOOP, in xmlRelaxNGParseAttribute()
5234 xmlRngPErr(ctxt, node, XML_RNGP_ATTRIBUTE_CHILDREN, in xmlRelaxNGParseAttribute()
5237 ctxt->flags = old_flags; in xmlRelaxNGParseAttribute()
5252 xmlRelaxNGParseExceptNameClass(xmlRelaxNGParserCtxtPtr ctxt, in xmlRelaxNGParseExceptNameClass() argument
5259 xmlRngPErr(ctxt, node, XML_RNGP_EXCEPT_MISSING, in xmlRelaxNGParseExceptNameClass()
5264 xmlRngPErr(ctxt, node, XML_RNGP_EXCEPT_MULTIPLE, in xmlRelaxNGParseExceptNameClass()
5269 xmlRngPErr(ctxt, node, XML_RNGP_EXCEPT_EMPTY, "except has no content\n", in xmlRelaxNGParseExceptNameClass()
5274 ret = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParseExceptNameClass()
5280 cur = xmlRelaxNGNewDefine(ctxt, child); in xmlRelaxNGParseExceptNameClass()
5288 if (xmlRelaxNGParseNameClass(ctxt, child, cur) != NULL) { in xmlRelaxNGParseExceptNameClass()
5313 xmlRelaxNGParseNameClass(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node, in xmlRelaxNGParseNameClass() argument
5324 ret = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParseNameClass()
5328 if (ctxt->flags & XML_RELAXNG_IN_ATTRIBUTE) in xmlRelaxNGParseNameClass()
5339 xmlRngPErr(ctxt, node, XML_RNGP_ELEMENT_NAME, in xmlRelaxNGParseNameClass()
5343 xmlRngPErr(ctxt, node, XML_RNGP_ELEMENT_NAME, in xmlRelaxNGParseNameClass()
5350 if ((ctxt->flags & XML_RELAXNG_IN_ATTRIBUTE) && in xmlRelaxNGParseNameClass()
5353 xmlRngPErr(ctxt, node, XML_RNGP_XML_NS, in xmlRelaxNGParseNameClass()
5357 if ((ctxt->flags & XML_RELAXNG_IN_ATTRIBUTE) && in xmlRelaxNGParseNameClass()
5360 xmlRngPErr(ctxt, node, XML_RNGP_XMLNS_NAME, in xmlRelaxNGParseNameClass()
5369 xmlRelaxNGParseExceptNameClass(ctxt, node->children, in xmlRelaxNGParseNameClass()
5377 xmlRngPErr(ctxt, node, XML_RNGP_NSNAME_NO_NS, in xmlRelaxNGParseNameClass()
5380 if ((ctxt->flags & XML_RELAXNG_IN_ATTRIBUTE) && in xmlRelaxNGParseNameClass()
5384 xmlRngPErr(ctxt, node, XML_RNGP_XML_NS, in xmlRelaxNGParseNameClass()
5390 xmlRelaxNGParseExceptNameClass(ctxt, node->children, in xmlRelaxNGParseNameClass()
5401 ret = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParseNameClass()
5409 xmlRngPErr(ctxt, node, XML_RNGP_CHOICE_EMPTY, in xmlRelaxNGParseNameClass()
5415 tmp = xmlRelaxNGParseNameClass(ctxt, child, ret); in xmlRelaxNGParseNameClass()
5428 xmlRngPErr(ctxt, node, XML_RNGP_CHOICE_CONTENT, in xmlRelaxNGParseNameClass()
5458 xmlRelaxNGParseElement(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) in xmlRelaxNGParseElement() argument
5464 ret = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParseElement()
5468 ret->parent = ctxt->def; in xmlRelaxNGParseElement()
5471 xmlRngPErr(ctxt, node, XML_RNGP_ELEMENT_EMPTY, in xmlRelaxNGParseElement()
5476 cur = xmlRelaxNGParseNameClass(ctxt, child, ret); in xmlRelaxNGParseElement()
5481 xmlRngPErr(ctxt, node, XML_RNGP_ELEMENT_NO_CONTENT, in xmlRelaxNGParseElement()
5486 olddefine = ctxt->define; in xmlRelaxNGParseElement()
5487 ctxt->define = NULL; in xmlRelaxNGParseElement()
5490 cur = xmlRelaxNGParsePattern(ctxt, child); in xmlRelaxNGParseElement()
5516 ret->content = xmlRelaxNGNewDefine(ctxt, node); in xmlRelaxNGParseElement()
5533 xmlRngPErr(ctxt, node, XML_RNGP_ELEMENT_CONTENT, in xmlRelaxNGParseElement()
5538 xmlRngPErr(ctxt, node, XML_RNGP_ELEMENT_CONTENT, in xmlRelaxNGParseElement()
5543 xmlRngPErr(ctxt, node, XML_RNGP_ELEMENT_CONTENT, in xmlRelaxNGParseElement()
5548 xmlRngPErr(ctxt, node, XML_RNGP_ELEMENT_CONTENT, in xmlRelaxNGParseElement()
5556 ctxt->define = olddefine; in xmlRelaxNGParseElement()
5571 xmlRelaxNGParsePatterns(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr nodes, in xmlRelaxNGParsePatterns() argument
5576 parent = ctxt->def; in xmlRelaxNGParsePatterns()
5579 cur = xmlRelaxNGParseElement(ctxt, nodes); in xmlRelaxNGParsePatterns()
5585 def = xmlRelaxNGNewDefine(ctxt, nodes); in xmlRelaxNGParsePatterns()
5594 cur = xmlRelaxNGParsePattern(ctxt, nodes); in xmlRelaxNGParsePatterns()
5619 xmlRelaxNGParseStart(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr nodes) in xmlRelaxNGParseStart() argument
5625 xmlRngPErr(ctxt, nodes, XML_RNGP_START_EMPTY, "start has no children\n", in xmlRelaxNGParseStart()
5630 def = xmlRelaxNGNewDefine(ctxt, nodes); in xmlRelaxNGParseStart()
5635 xmlRngPErr(ctxt, nodes, XML_RNGP_EMPTY_CONTENT, in xmlRelaxNGParseStart()
5639 def = xmlRelaxNGNewDefine(ctxt, nodes); in xmlRelaxNGParseStart()
5644 xmlRngPErr(ctxt, nodes, XML_RNGP_NOTALLOWED_NOT_EMPTY, in xmlRelaxNGParseStart()
5648 def = xmlRelaxNGParsePatterns(ctxt, nodes, 1); in xmlRelaxNGParseStart()
5650 if (ctxt->grammar->start != NULL) { in xmlRelaxNGParseStart()
5651 last = ctxt->grammar->start; in xmlRelaxNGParseStart()
5656 ctxt->grammar->start = def; in xmlRelaxNGParseStart()
5660 xmlRngPErr(ctxt, nodes, XML_RNGP_START_CONTENT, in xmlRelaxNGParseStart()
5677 xmlRelaxNGParseGrammarContent(xmlRelaxNGParserCtxtPtr ctxt, in xmlRelaxNGParseGrammarContent() argument
5683 xmlRngPErr(ctxt, nodes, XML_RNGP_GRAMMAR_EMPTY, in xmlRelaxNGParseGrammarContent()
5690 xmlRngPErr(ctxt, nodes, XML_RNGP_START_EMPTY, in xmlRelaxNGParseGrammarContent()
5693 tmp = xmlRelaxNGParseStart(ctxt, nodes->children); in xmlRelaxNGParseGrammarContent()
5698 tmp = xmlRelaxNGParseDefine(ctxt, nodes); in xmlRelaxNGParseGrammarContent()
5702 tmp = xmlRelaxNGParseInclude(ctxt, nodes); in xmlRelaxNGParseGrammarContent()
5706 xmlRngPErr(ctxt, nodes, XML_RNGP_GRAMMAR_CONTENT, in xmlRelaxNGParseGrammarContent()
5729 xmlRelaxNGParserCtxtPtr ctxt = (xmlRelaxNGParserCtxtPtr) data; in xmlRelaxNGCheckReference() local
5739 grammar = ctxt->grammar; in xmlRelaxNGCheckReference()
5741 xmlRngPErr(ctxt, ref->node, XML_ERR_INTERNAL_ERROR, in xmlRelaxNGCheckReference()
5747 xmlRngPErr(ctxt, ref->node, XML_ERR_INTERNAL_ERROR, in xmlRelaxNGCheckReference()
5761 xmlRngPErr(ctxt, ref->node, XML_RNGP_REF_NO_DEF, in xmlRelaxNGCheckReference()
5766 xmlRngPErr(ctxt, ref->node, XML_RNGP_REF_NO_DEF, in xmlRelaxNGCheckReference()
5785 xmlRelaxNGParserCtxtPtr ctxt = (xmlRelaxNGParserCtxtPtr) data; in xmlRelaxNGCheckCombine() local
5801 xmlRngPErr(ctxt, define->node, XML_RNGP_DEF_CHOICE_AND_INTERLEAVE, in xmlRelaxNGCheckCombine()
5809 xmlRngPErr(ctxt, define->node, XML_RNGP_DEF_CHOICE_AND_INTERLEAVE, in xmlRelaxNGCheckCombine()
5814 xmlRngPErr(ctxt, define->node, XML_RNGP_UNKNOWN_COMBINE, in xmlRelaxNGCheckCombine()
5823 xmlRngPErr(ctxt, define->node, XML_RNGP_NEED_COMBINE, in xmlRelaxNGCheckCombine()
5838 cur = xmlRelaxNGNewDefine(ctxt, define->node); in xmlRelaxNGCheckCombine()
5853 tmp2 = xmlRelaxNGNewDefine(ctxt, tmp->content->node); in xmlRelaxNGCheckCombine()
5873 if (ctxt->interleaves == NULL) in xmlRelaxNGCheckCombine()
5874 ctxt->interleaves = xmlHashCreate(10); in xmlRelaxNGCheckCombine()
5875 if (ctxt->interleaves == NULL) { in xmlRelaxNGCheckCombine()
5876 xmlRngPErr(ctxt, define->node, XML_RNGP_INTERLEAVE_CREATE_FAILED, in xmlRelaxNGCheckCombine()
5882 snprintf(tmpname, 32, "interleave%d", ctxt->nbInterleaves++); in xmlRelaxNGCheckCombine()
5883 if (xmlHashAddEntry(ctxt->interleaves, BAD_CAST tmpname, cur) < in xmlRelaxNGCheckCombine()
5885 xmlRngPErr(ctxt, define->node, XML_RNGP_INTERLEAVE_CREATE_FAILED, in xmlRelaxNGCheckCombine()
5902 xmlRelaxNGCombineStart(xmlRelaxNGParserCtxtPtr ctxt, in xmlRelaxNGCombineStart() argument
5919 xmlRngPErr(ctxt, cur->node, XML_RNGP_START_MISSING, in xmlRelaxNGCombineStart()
5931 xmlRngPErr(ctxt, cur->node, XML_RNGP_START_CHOICE_AND_INTERLEAVE, in xmlRelaxNGCombineStart()
5939 xmlRngPErr(ctxt, cur->node, XML_RNGP_START_CHOICE_AND_INTERLEAVE, in xmlRelaxNGCombineStart()
5944 xmlRngPErr(ctxt, cur->node, XML_RNGP_UNKNOWN_COMBINE, in xmlRelaxNGCombineStart()
5953 xmlRngPErr(ctxt, cur->node, XML_RNGP_NEED_COMBINE, in xmlRelaxNGCombineStart()
5968 cur = xmlRelaxNGNewDefine(ctxt, starts->node); in xmlRelaxNGCombineStart()
5978 if (ctxt->interleaves == NULL) in xmlRelaxNGCombineStart()
5979 ctxt->interleaves = xmlHashCreate(10); in xmlRelaxNGCombineStart()
5980 if (ctxt->interleaves == NULL) { in xmlRelaxNGCombineStart()
5981 xmlRngPErr(ctxt, cur->node, XML_RNGP_INTERLEAVE_CREATE_FAILED, in xmlRelaxNGCombineStart()
5987 snprintf(tmpname, 32, "interleave%d", ctxt->nbInterleaves++); in xmlRelaxNGCombineStart()
5988 if (xmlHashAddEntry(ctxt->interleaves, BAD_CAST tmpname, cur) < in xmlRelaxNGCombineStart()
5990 xmlRngPErr(ctxt, cur->node, XML_RNGP_INTERLEAVE_CREATE_FAILED, in xmlRelaxNGCombineStart()
6009 xmlRelaxNGCheckCycles(xmlRelaxNGParserCtxtPtr ctxt, in xmlRelaxNGCheckCycles() argument
6019 ret = xmlRelaxNGCheckCycles(ctxt, cur->content, depth); in xmlRelaxNGCheckCycles()
6022 xmlRngPErr(ctxt, cur->node, XML_RNGP_REF_CYCLE, in xmlRelaxNGCheckCycles()
6028 ret = xmlRelaxNGCheckCycles(ctxt, cur->content, depth + 1); in xmlRelaxNGCheckCycles()
6030 ret = xmlRelaxNGCheckCycles(ctxt, cur->content, depth); in xmlRelaxNGCheckCycles()
6049 xmlRelaxNGTryUnlink(xmlRelaxNGParserCtxtPtr ctxt ATTRIBUTE_UNUSED, in xmlRelaxNGTryUnlink()
6079 xmlRelaxNGSimplify(xmlRelaxNGParserCtxtPtr ctxt, in xmlRelaxNGSimplify() argument
6089 xmlRelaxNGSimplify(ctxt, cur->content, cur); in xmlRelaxNGSimplify()
6104 prev = xmlRelaxNGTryUnlink(ctxt, cur, parent, prev); in xmlRelaxNGSimplify()
6118 prev = xmlRelaxNGTryUnlink(ctxt, cur, parent, prev); in xmlRelaxNGSimplify()
6124 xmlRelaxNGSimplify(ctxt, cur->content, cur); in xmlRelaxNGSimplify()
6126 xmlRelaxNGSimplify(ctxt, cur->attrs, cur); in xmlRelaxNGSimplify()
6128 xmlRelaxNGSimplify(ctxt, cur->nameClass, cur); in xmlRelaxNGSimplify()
6139 xmlRelaxNGGenerateAttributes(ctxt, cur->content); in xmlRelaxNGSimplify()
6158 attronly = xmlRelaxNGGenerateAttributes(ctxt, tmp); in xmlRelaxNGSimplify()
6198 prev = xmlRelaxNGTryUnlink(ctxt, cur, parent, prev); in xmlRelaxNGSimplify()
6212 prev = xmlRelaxNGTryUnlink(ctxt, cur, parent, prev); in xmlRelaxNGSimplify()
6226 prev = xmlRelaxNGTryUnlink(ctxt, cur, parent, prev); in xmlRelaxNGSimplify()
6300 xmlRelaxNGCheckRules(xmlRelaxNGParserCtxtPtr ctxt, in xmlRelaxNGCheckRules() argument
6318 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_LIST_REF, in xmlRelaxNGCheckRules()
6324 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_REF, in xmlRelaxNGCheckRules()
6330 xmlRngPErr(ctxt, cur->node, XML_RNGP_REF_NO_DEF, in xmlRelaxNGCheckRules()
6334 xmlRngPErr(ctxt, cur->node, XML_RNGP_REF_NO_DEF, in xmlRelaxNGCheckRules()
6340 ret = xmlRelaxNGCheckRules(ctxt, cur->content, in xmlRelaxNGCheckRules()
6352 xmlRelaxNGCheckGroupAttrs(ctxt, cur); in xmlRelaxNGCheckRules()
6354 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_ELEM, in xmlRelaxNGCheckRules()
6359 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_LIST_ELEM, in xmlRelaxNGCheckRules()
6364 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_ATTR_ELEM, in xmlRelaxNGCheckRules()
6369 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_ATTR_ELEM, in xmlRelaxNGCheckRules()
6379 xmlRelaxNGCheckRules(ctxt, cur->attrs, nflags, cur->type); in xmlRelaxNGCheckRules()
6381 xmlRngPErr(ctxt, cur->node, XML_RNGP_ELEM_CONTENT_EMPTY, in xmlRelaxNGCheckRules()
6386 xmlRelaxNGCheckRules(ctxt, cur->content, nflags, in xmlRelaxNGCheckRules()
6389 xmlRngPErr(ctxt, cur->node, XML_RNGP_ELEM_CONTENT_ERROR, in xmlRelaxNGCheckRules()
6397 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_ATTR_ATTR, in xmlRelaxNGCheckRules()
6402 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_LIST_ATTR, in xmlRelaxNGCheckRules()
6407 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_ONEMORE_GROUP_ATTR, in xmlRelaxNGCheckRules()
6412 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_ONEMORE_INTERLEAVE_ATTR, in xmlRelaxNGCheckRules()
6417 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_ATTR, in xmlRelaxNGCheckRules()
6422 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_START_ATTR, in xmlRelaxNGCheckRules()
6429 xmlRngPErr(ctxt, cur->node, XML_RNGP_ANYNAME_ATTR_ANCESTOR, in xmlRelaxNGCheckRules()
6433 xmlRngPErr(ctxt, cur->node, XML_RNGP_NSNAME_ATTR_ANCESTOR, in xmlRelaxNGCheckRules()
6439 xmlRelaxNGCheckRules(ctxt, cur->content, nflags, cur->type); in xmlRelaxNGCheckRules()
6444 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_ONEMORE, in xmlRelaxNGCheckRules()
6449 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_START_ONEMORE, in xmlRelaxNGCheckRules()
6455 xmlRelaxNGCheckRules(ctxt, cur->content, nflags, in xmlRelaxNGCheckRules()
6460 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_LIST_LIST, in xmlRelaxNGCheckRules()
6465 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_LIST, in xmlRelaxNGCheckRules()
6470 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_START_LIST, in xmlRelaxNGCheckRules()
6476 xmlRelaxNGCheckRules(ctxt, cur->content, nflags, in xmlRelaxNGCheckRules()
6480 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_GROUP, in xmlRelaxNGCheckRules()
6485 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_START_GROUP, in xmlRelaxNGCheckRules()
6494 xmlRelaxNGCheckRules(ctxt, cur->content, nflags, in xmlRelaxNGCheckRules()
6499 xmlRelaxNGCheckGroupAttrs(ctxt, cur); in xmlRelaxNGCheckRules()
6502 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_LIST_INTERLEAVE, in xmlRelaxNGCheckRules()
6507 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE, in xmlRelaxNGCheckRules()
6512 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_INTERLEAVE, in xmlRelaxNGCheckRules()
6521 xmlRelaxNGCheckRules(ctxt, cur->content, nflags, in xmlRelaxNGCheckRules()
6530 xmlRelaxNGCheckRules(ctxt, cur->content, nflags, in xmlRelaxNGCheckRules()
6534 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_START_DATA, in xmlRelaxNGCheckRules()
6538 xmlRelaxNGCheckRules(ctxt, cur->content, flags, cur->type); in xmlRelaxNGCheckRules()
6542 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_START_VALUE, in xmlRelaxNGCheckRules()
6546 xmlRelaxNGCheckRules(ctxt, cur->content, flags, cur->type); in xmlRelaxNGCheckRules()
6550 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_LIST_TEXT, in xmlRelaxNGCheckRules()
6555 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_TEXT, in xmlRelaxNGCheckRules()
6560 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_START_TEXT, in xmlRelaxNGCheckRules()
6567 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_DATA_EXCEPT_EMPTY, in xmlRelaxNGCheckRules()
6572 xmlRngPErr(ctxt, cur->node, XML_RNGP_PAT_START_EMPTY, in xmlRelaxNGCheckRules()
6578 xmlRelaxNGCheckChoiceDeterminism(ctxt, cur); in xmlRelaxNGCheckRules()
6580 xmlRelaxNGCheckRules(ctxt, cur->content, flags, cur->type); in xmlRelaxNGCheckRules()
6583 xmlRelaxNGCheckRules(ctxt, cur->content, flags, cur->type); in xmlRelaxNGCheckRules()
6624 xmlRelaxNGParseGrammar(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr nodes) in xmlRelaxNGParseGrammar() argument
6632 ret = xmlRelaxNGNewGrammar(ctxt); in xmlRelaxNGParseGrammar()
6639 ret->parent = ctxt->grammar; in xmlRelaxNGParseGrammar()
6640 if (ctxt->grammar != NULL) { in xmlRelaxNGParseGrammar()
6641 tmp = ctxt->grammar->children; in xmlRelaxNGParseGrammar()
6643 ctxt->grammar->children = ret; in xmlRelaxNGParseGrammar()
6651 old = ctxt->grammar; in xmlRelaxNGParseGrammar()
6652 ctxt->grammar = ret; in xmlRelaxNGParseGrammar()
6653 xmlRelaxNGParseGrammarContent(ctxt, nodes); in xmlRelaxNGParseGrammar()
6654 ctxt->grammar = ret; in xmlRelaxNGParseGrammar()
6655 if (ctxt->grammar == NULL) { in xmlRelaxNGParseGrammar()
6656 xmlRngPErr(ctxt, nodes, XML_RNGP_GRAMMAR_CONTENT, in xmlRelaxNGParseGrammar()
6658 } else if (ctxt->grammar->start == NULL) { in xmlRelaxNGParseGrammar()
6659 xmlRngPErr(ctxt, nodes, XML_RNGP_GRAMMAR_NO_START, in xmlRelaxNGParseGrammar()
6666 xmlRelaxNGCombineStart(ctxt, ret); in xmlRelaxNGParseGrammar()
6668 xmlHashScan(ret->defs, xmlRelaxNGCheckCombine, ctxt); in xmlRelaxNGParseGrammar()
6675 xmlHashScan(ret->refs, xmlRelaxNGCheckReference, ctxt); in xmlRelaxNGParseGrammar()
6681 ctxt->grammar = old; in xmlRelaxNGParseGrammar()
6697 xmlRelaxNGParseDocument(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) in xmlRelaxNGParseDocument() argument
6703 if ((ctxt == NULL) || (node == NULL)) in xmlRelaxNGParseDocument()
6706 schema = xmlRelaxNGNewRelaxNG(ctxt); in xmlRelaxNGParseDocument()
6710 olddefine = ctxt->define; in xmlRelaxNGParseDocument()
6711 ctxt->define = NULL; in xmlRelaxNGParseDocument()
6713 schema->topgrammar = xmlRelaxNGParseGrammar(ctxt, node->children); in xmlRelaxNGParseDocument()
6721 schema->topgrammar = ret = xmlRelaxNGNewGrammar(ctxt); in xmlRelaxNGParseDocument()
6729 ret->parent = ctxt->grammar; in xmlRelaxNGParseDocument()
6730 if (ctxt->grammar != NULL) { in xmlRelaxNGParseDocument()
6731 tmp = ctxt->grammar->children; in xmlRelaxNGParseDocument()
6733 ctxt->grammar->children = ret; in xmlRelaxNGParseDocument()
6740 old = ctxt->grammar; in xmlRelaxNGParseDocument()
6741 ctxt->grammar = ret; in xmlRelaxNGParseDocument()
6742 xmlRelaxNGParseStart(ctxt, node); in xmlRelaxNGParseDocument()
6744 ctxt->grammar = old; in xmlRelaxNGParseDocument()
6746 ctxt->define = olddefine; in xmlRelaxNGParseDocument()
6748 xmlRelaxNGCheckCycles(ctxt, schema->topgrammar->start, 0); in xmlRelaxNGParseDocument()
6749 if ((ctxt->flags & XML_RELAXNG_IN_EXTERNALREF) == 0) { in xmlRelaxNGParseDocument()
6750 xmlRelaxNGSimplify(ctxt, schema->topgrammar->start, NULL); in xmlRelaxNGParseDocument()
6756 xmlRelaxNGCheckRules(ctxt, schema->topgrammar->start, in xmlRelaxNGParseDocument()
6879 xmlRelaxNGFreeParserCtxt(xmlRelaxNGParserCtxtPtr ctxt) in xmlRelaxNGFreeParserCtxt() argument
6881 if (ctxt == NULL) in xmlRelaxNGFreeParserCtxt()
6883 if (ctxt->URL != NULL) in xmlRelaxNGFreeParserCtxt()
6884 xmlFree(ctxt->URL); in xmlRelaxNGFreeParserCtxt()
6885 if (ctxt->doc != NULL) in xmlRelaxNGFreeParserCtxt()
6886 xmlRelaxNGFreeDocument(ctxt->doc); in xmlRelaxNGFreeParserCtxt()
6887 if (ctxt->interleaves != NULL) in xmlRelaxNGFreeParserCtxt()
6888 xmlHashFree(ctxt->interleaves, NULL); in xmlRelaxNGFreeParserCtxt()
6889 if (ctxt->documents != NULL) in xmlRelaxNGFreeParserCtxt()
6890 xmlRelaxNGFreeDocumentList(ctxt->documents); in xmlRelaxNGFreeParserCtxt()
6891 if (ctxt->includes != NULL) in xmlRelaxNGFreeParserCtxt()
6892 xmlRelaxNGFreeIncludeList(ctxt->includes); in xmlRelaxNGFreeParserCtxt()
6893 if (ctxt->docTab != NULL) in xmlRelaxNGFreeParserCtxt()
6894 xmlFree(ctxt->docTab); in xmlRelaxNGFreeParserCtxt()
6895 if (ctxt->incTab != NULL) in xmlRelaxNGFreeParserCtxt()
6896 xmlFree(ctxt->incTab); in xmlRelaxNGFreeParserCtxt()
6897 if (ctxt->defTab != NULL) { in xmlRelaxNGFreeParserCtxt()
6900 for (i = 0; i < ctxt->defNr; i++) in xmlRelaxNGFreeParserCtxt()
6901 xmlRelaxNGFreeDefine(ctxt->defTab[i]); in xmlRelaxNGFreeParserCtxt()
6902 xmlFree(ctxt->defTab); in xmlRelaxNGFreeParserCtxt()
6904 if ((ctxt->document != NULL) && (ctxt->freedoc)) in xmlRelaxNGFreeParserCtxt()
6905 xmlFreeDoc(ctxt->document); in xmlRelaxNGFreeParserCtxt()
6906 xmlFree(ctxt); in xmlRelaxNGFreeParserCtxt()
6969 xmlRelaxNGCleanupAttributes(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr node) in xmlRelaxNGCleanupAttributes() argument
6985 xmlRngPErr(ctxt, node, XML_RNGP_FORBIDDEN_ATTRIBUTE, in xmlRelaxNGCleanupAttributes()
6992 xmlRngPErr(ctxt, node, XML_RNGP_FORBIDDEN_ATTRIBUTE, in xmlRelaxNGCleanupAttributes()
6999 xmlRngPErr(ctxt, node, XML_RNGP_FORBIDDEN_ATTRIBUTE, in xmlRelaxNGCleanupAttributes()
7006 xmlRngPErr(ctxt, node, XML_RNGP_FORBIDDEN_ATTRIBUTE, in xmlRelaxNGCleanupAttributes()
7019 xmlRngPErr(ctxt, node, XML_RNGP_INVALID_URI, in xmlRelaxNGCleanupAttributes()
7024 xmlRngPErr(ctxt, node, XML_RNGP_URI_NOT_ABSOLUTE, in xmlRelaxNGCleanupAttributes()
7029 xmlRngPErr(ctxt, node, XML_RNGP_URI_FRAGMENT, in xmlRelaxNGCleanupAttributes()
7039 xmlRngPErr(ctxt, node, XML_RNGP_UNKNOWN_ATTRIBUTE, in xmlRelaxNGCleanupAttributes()
7057 xmlRelaxNGCleanupTree(xmlRelaxNGParserCtxtPtr ctxt, xmlNodePtr root) in xmlRelaxNGCleanupTree() argument
7080 xmlRngPErr(ctxt, cur, XML_RNGP_FOREIGN_ELEMENT, in xmlRelaxNGCleanupTree()
7087 xmlRelaxNGCleanupAttributes(ctxt, cur); in xmlRelaxNGCleanupTree()
7107 xmlRngPErr(ctxt, cur, XML_RNGP_MISSING_HREF, in xmlRelaxNGCleanupTree()
7117 xmlRngPErr(ctxt, cur, XML_RNGP_HREF_ERROR, in xmlRelaxNGCleanupTree()
7128 xmlRngPErr(ctxt, cur, XML_RNGP_HREF_ERROR, in xmlRelaxNGCleanupTree()
7143 xmlRngPErr(ctxt, cur, XML_RNGP_HREF_ERROR, in xmlRelaxNGCleanupTree()
7159 docu = xmlRelaxNGLoadExternalRef(ctxt, URL, ns); in xmlRelaxNGCleanupTree()
7161 xmlRngPErr(ctxt, cur, XML_RNGP_EXTERNAL_REF_FAILURE, in xmlRelaxNGCleanupTree()
7181 xmlRngPErr(ctxt, cur, XML_RNGP_MISSING_HREF, in xmlRelaxNGCleanupTree()
7190 xmlRngPErr(ctxt, cur, XML_RNGP_HREF_ERROR, in xmlRelaxNGCleanupTree()
7215 incl = xmlRelaxNGLoadInclude(ctxt, URL, cur, ns); in xmlRelaxNGCleanupTree()
7219 xmlRngPErr(ctxt, cur, XML_RNGP_INCLUDE_FAILURE, in xmlRelaxNGCleanupTree()
7257 xmlRngPErr(ctxt, cur, XML_RNGP_CREATE_FAILURE, in xmlRelaxNGCleanupTree()
7316 xmlRngPErr(ctxt, cur, in xmlRelaxNGCleanupTree()
7335 if (ctxt->flags & XML_RELAXNG_IN_NSEXCEPT) { in xmlRelaxNGCleanupTree()
7336 xmlRngPErr(ctxt, cur, in xmlRelaxNGCleanupTree()
7344 int oldflags = ctxt->flags; in xmlRelaxNGCleanupTree()
7352 ctxt->flags |= XML_RELAXNG_IN_ANYEXCEPT; in xmlRelaxNGCleanupTree()
7353 xmlRelaxNGCleanupTree(ctxt, cur); in xmlRelaxNGCleanupTree()
7354 ctxt->flags = oldflags; in xmlRelaxNGCleanupTree()
7359 ctxt->flags |= XML_RELAXNG_IN_NSEXCEPT; in xmlRelaxNGCleanupTree()
7360 xmlRelaxNGCleanupTree(ctxt, cur); in xmlRelaxNGCleanupTree()
7361 ctxt->flags = oldflags; in xmlRelaxNGCleanupTree()
7368 if (ctxt->flags & XML_RELAXNG_IN_ANYEXCEPT) { in xmlRelaxNGCleanupTree()
7369 xmlRngPErr(ctxt, cur, in xmlRelaxNGCleanupTree()
7373 } else if (ctxt->flags & XML_RELAXNG_IN_NSEXCEPT) { in xmlRelaxNGCleanupTree()
7374 xmlRngPErr(ctxt, cur, in xmlRelaxNGCleanupTree()
7500 xmlRelaxNGCleanupDoc(xmlRelaxNGParserCtxtPtr ctxt, xmlDocPtr doc) in xmlRelaxNGCleanupDoc() argument
7509 xmlRngPErr(ctxt, (xmlNodePtr) doc, XML_RNGP_EMPTY, "xmlRelaxNGParse: %s is empty\n", in xmlRelaxNGCleanupDoc()
7510 ctxt->URL, NULL); in xmlRelaxNGCleanupDoc()
7513 xmlRelaxNGCleanupTree(ctxt, root); in xmlRelaxNGCleanupDoc()
7528 xmlRelaxNGParse(xmlRelaxNGParserCtxtPtr ctxt) in xmlRelaxNGParse() argument
7536 if (ctxt == NULL) in xmlRelaxNGParse()
7542 if (ctxt->URL != NULL) { in xmlRelaxNGParse()
7543 doc = xmlReadFile((const char *) ctxt->URL,NULL,0); in xmlRelaxNGParse()
7545 xmlRngPErr(ctxt, NULL, XML_RNGP_PARSE_ERROR, in xmlRelaxNGParse()
7546 "xmlRelaxNGParse: could not load %s\n", ctxt->URL, in xmlRelaxNGParse()
7550 } else if (ctxt->buffer != NULL) { in xmlRelaxNGParse()
7551 doc = xmlReadMemory(ctxt->buffer, ctxt->size,NULL,NULL,0); in xmlRelaxNGParse()
7553 xmlRngPErr(ctxt, NULL, XML_RNGP_PARSE_ERROR, in xmlRelaxNGParse()
7559 ctxt->URL = xmlStrdup(BAD_CAST "in_memory_buffer"); in xmlRelaxNGParse()
7560 } else if (ctxt->document != NULL) { in xmlRelaxNGParse()
7561 doc = ctxt->document; in xmlRelaxNGParse()
7563 xmlRngPErr(ctxt, NULL, XML_RNGP_EMPTY, in xmlRelaxNGParse()
7567 ctxt->document = doc; in xmlRelaxNGParse()
7572 doc = xmlRelaxNGCleanupDoc(ctxt, doc); in xmlRelaxNGParse()
7574 xmlFreeDoc(ctxt->document); in xmlRelaxNGParse()
7575 ctxt->document = NULL; in xmlRelaxNGParse()
7584 xmlRngPErr(ctxt, (xmlNodePtr) doc, in xmlRelaxNGParse()
7586 (ctxt->URL ? ctxt->URL : BAD_CAST "schemas"), NULL); in xmlRelaxNGParse()
7588 xmlFreeDoc(ctxt->document); in xmlRelaxNGParse()
7589 ctxt->document = NULL; in xmlRelaxNGParse()
7592 ret = xmlRelaxNGParseDocument(ctxt, root); in xmlRelaxNGParse()
7594 xmlFreeDoc(ctxt->document); in xmlRelaxNGParse()
7595 ctxt->document = NULL; in xmlRelaxNGParse()
7605 if (ctxt->interleaves != NULL) { in xmlRelaxNGParse()
7606 xmlHashScan(ctxt->interleaves, xmlRelaxNGComputeInterleaves, ctxt); in xmlRelaxNGParse()
7612 if (ctxt->nbErrors > 0) { in xmlRelaxNGParse()
7614 ctxt->document = NULL; in xmlRelaxNGParse()
7626 def = xmlRelaxNGNewDefine(ctxt, NULL); in xmlRelaxNGParse()
7633 xmlRelaxNGTryCompile(ctxt, ret->topgrammar->start); in xmlRelaxNGParse()
7640 ctxt->document = NULL; in xmlRelaxNGParse()
7641 ret->documents = ctxt->documents; in xmlRelaxNGParse()
7642 ctxt->documents = NULL; in xmlRelaxNGParse()
7644 ret->includes = ctxt->includes; in xmlRelaxNGParse()
7645 ctxt->includes = NULL; in xmlRelaxNGParse()
7646 ret->defNr = ctxt->defNr; in xmlRelaxNGParse()
7647 ret->defTab = ctxt->defTab; in xmlRelaxNGParse()
7648 ctxt->defTab = NULL; in xmlRelaxNGParse()
7649 if (ctxt->idref == 1) in xmlRelaxNGParse()
7665 xmlRelaxNGSetParserErrors(xmlRelaxNGParserCtxtPtr ctxt, in xmlRelaxNGSetParserErrors() argument
7669 if (ctxt == NULL) in xmlRelaxNGSetParserErrors()
7671 ctxt->error = err; in xmlRelaxNGSetParserErrors()
7672 ctxt->warning = warn; in xmlRelaxNGSetParserErrors()
7673 ctxt->serror = NULL; in xmlRelaxNGSetParserErrors()
7674 ctxt->userData = ctx; in xmlRelaxNGSetParserErrors()
7689 xmlRelaxNGGetParserErrors(xmlRelaxNGParserCtxtPtr ctxt, in xmlRelaxNGGetParserErrors() argument
7693 if (ctxt == NULL) in xmlRelaxNGGetParserErrors()
7696 *err = ctxt->error; in xmlRelaxNGGetParserErrors()
7698 *warn = ctxt->warning; in xmlRelaxNGGetParserErrors()
7700 *ctx = ctxt->userData; in xmlRelaxNGGetParserErrors()
7713 xmlRelaxNGSetParserStructuredErrors(xmlRelaxNGParserCtxtPtr ctxt, in xmlRelaxNGSetParserStructuredErrors() argument
7717 if (ctxt == NULL) in xmlRelaxNGSetParserStructuredErrors()
7719 ctxt->serror = serror; in xmlRelaxNGSetParserStructuredErrors()
7720 ctxt->error = NULL; in xmlRelaxNGSetParserStructuredErrors()
7721 ctxt->warning = NULL; in xmlRelaxNGSetParserStructuredErrors()
7722 ctxt->userData = ctx; in xmlRelaxNGSetParserStructuredErrors()
7968 static int xmlRelaxNGValidateDefinition(xmlRelaxNGValidCtxtPtr ctxt,
7985 xmlRelaxNGValidCtxtPtr ctxt = (xmlRelaxNGValidCtxtPtr) inputdata; in xmlRelaxNGValidateCompiledCallback() local
7993 if (ctxt == NULL) { in xmlRelaxNGValidateCompiledCallback()
8001 if ((ctxt != NULL) && (ctxt->errNo == XML_RELAXNG_OK)) in xmlRelaxNGValidateCompiledCallback()
8002 ctxt->errNo = XML_RELAXNG_ERR_INTERNAL; in xmlRelaxNGValidateCompiledCallback()
8005 if ((ctxt == NULL) || (define == NULL)) { in xmlRelaxNGValidateCompiledCallback()
8007 if ((ctxt != NULL) && (ctxt->errNo == XML_RELAXNG_OK)) in xmlRelaxNGValidateCompiledCallback()
8008 ctxt->errNo = XML_RELAXNG_ERR_INTERNAL; in xmlRelaxNGValidateCompiledCallback()
8012 if (ctxt->errNo == XML_RELAXNG_OK) in xmlRelaxNGValidateCompiledCallback()
8013 ctxt->errNo = XML_RELAXNG_ERR_INTERNAL; in xmlRelaxNGValidateCompiledCallback()
8016 ret = xmlRelaxNGValidateDefinition(ctxt, define); in xmlRelaxNGValidateCompiledCallback()
8018 ctxt->perr = ret; in xmlRelaxNGValidateCompiledCallback()
8032 xmlRelaxNGValidateCompiledContent(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGValidateCompiledContent() argument
8040 if ((ctxt == NULL) || (regexp == NULL)) in xmlRelaxNGValidateCompiledContent()
8042 oldperr = ctxt->perr; in xmlRelaxNGValidateCompiledContent()
8044 xmlRelaxNGValidateCompiledCallback, ctxt); in xmlRelaxNGValidateCompiledContent()
8045 ctxt->perr = 0; in xmlRelaxNGValidateCompiledContent()
8048 ctxt->state->seq = cur; in xmlRelaxNGValidateCompiledContent()
8054 ret = xmlRegExecPushString(exec, BAD_CAST "#text", ctxt); in xmlRelaxNGValidateCompiledContent()
8063 cur->ns->href, ctxt); in xmlRelaxNGValidateCompiledContent()
8065 ret = xmlRegExecPushString(exec, cur->name, ctxt); in xmlRelaxNGValidateCompiledContent()
8084 ctxt->state->seq = NULL; in xmlRelaxNGValidateCompiledContent()
8091 if ((ctxt->flags & FLAGS_IGNORABLE) == 0) in xmlRelaxNGValidateCompiledContent()
8092 xmlRelaxNGDumpValidError(ctxt); in xmlRelaxNGValidateCompiledContent()
8101 if ((ret == 0) && (ctxt->perr != 0)) { in xmlRelaxNGValidateCompiledContent()
8102 ret = ctxt->perr; in xmlRelaxNGValidateCompiledContent()
8104 ctxt->perr = oldperr; in xmlRelaxNGValidateCompiledContent()
8113 static int xmlRelaxNGValidateAttributeList(xmlRelaxNGValidCtxtPtr ctxt,
8115 static int xmlRelaxNGValidateElementEnd(xmlRelaxNGValidCtxtPtr ctxt,
8117 static void xmlRelaxNGLogBestError(xmlRelaxNGValidCtxtPtr ctxt);
8129 xmlRelaxNGElemPush(xmlRelaxNGValidCtxtPtr ctxt, xmlRegExecCtxtPtr exec) in xmlRelaxNGElemPush() argument
8131 if (ctxt->elemTab == NULL) { in xmlRelaxNGElemPush()
8132 ctxt->elemMax = 10; in xmlRelaxNGElemPush()
8133 ctxt->elemTab = (xmlRegExecCtxtPtr *) xmlMalloc(ctxt->elemMax * in xmlRelaxNGElemPush()
8136 if (ctxt->elemTab == NULL) { in xmlRelaxNGElemPush()
8137 xmlRngVErrMemory(ctxt, "validating\n"); in xmlRelaxNGElemPush()
8141 if (ctxt->elemNr >= ctxt->elemMax) { in xmlRelaxNGElemPush()
8142 ctxt->elemMax *= 2; in xmlRelaxNGElemPush()
8143 ctxt->elemTab = (xmlRegExecCtxtPtr *) xmlRealloc(ctxt->elemTab, in xmlRelaxNGElemPush()
8144 ctxt->elemMax * in xmlRelaxNGElemPush()
8147 if (ctxt->elemTab == NULL) { in xmlRelaxNGElemPush()
8148 xmlRngVErrMemory(ctxt, "validating\n"); in xmlRelaxNGElemPush()
8152 ctxt->elemTab[ctxt->elemNr++] = exec; in xmlRelaxNGElemPush()
8153 ctxt->elem = exec; in xmlRelaxNGElemPush()
8166 xmlRelaxNGElemPop(xmlRelaxNGValidCtxtPtr ctxt) in xmlRelaxNGElemPop() argument
8170 if (ctxt->elemNr <= 0) in xmlRelaxNGElemPop()
8172 ctxt->elemNr--; in xmlRelaxNGElemPop()
8173 ret = ctxt->elemTab[ctxt->elemNr]; in xmlRelaxNGElemPop()
8174 ctxt->elemTab[ctxt->elemNr] = NULL; in xmlRelaxNGElemPop()
8175 if (ctxt->elemNr > 0) in xmlRelaxNGElemPop()
8176 ctxt->elem = ctxt->elemTab[ctxt->elemNr - 1]; in xmlRelaxNGElemPop()
8178 ctxt->elem = NULL; in xmlRelaxNGElemPop()
8198 xmlRelaxNGValidCtxtPtr ctxt = (xmlRelaxNGValidCtxtPtr) inputdata; in xmlRelaxNGValidateProgressiveCallback() local
8208 if (ctxt == NULL) { in xmlRelaxNGValidateProgressiveCallback()
8212 node = ctxt->pnode; in xmlRelaxNGValidateProgressiveCallback()
8213 ctxt->pstate = 1; in xmlRelaxNGValidateProgressiveCallback()
8218 if ((ctxt != NULL) && (ctxt->errNo == XML_RELAXNG_OK)) in xmlRelaxNGValidateProgressiveCallback()
8219 ctxt->errNo = XML_RELAXNG_ERR_INTERNAL; in xmlRelaxNGValidateProgressiveCallback()
8220 ctxt->pstate = -1; in xmlRelaxNGValidateProgressiveCallback()
8223 if ((ctxt == NULL) || (define == NULL)) { in xmlRelaxNGValidateProgressiveCallback()
8225 if ((ctxt != NULL) && (ctxt->errNo == XML_RELAXNG_OK)) in xmlRelaxNGValidateProgressiveCallback()
8226 ctxt->errNo = XML_RELAXNG_ERR_INTERNAL; in xmlRelaxNGValidateProgressiveCallback()
8227 ctxt->pstate = -1; in xmlRelaxNGValidateProgressiveCallback()
8231 if (ctxt->errNo == XML_RELAXNG_OK) in xmlRelaxNGValidateProgressiveCallback()
8232 ctxt->errNo = XML_RELAXNG_ERR_INTERNAL; in xmlRelaxNGValidateProgressiveCallback()
8233 ctxt->pstate = -1; in xmlRelaxNGValidateProgressiveCallback()
8238 if ((ctxt->flags & FLAGS_IGNORABLE) == 0) in xmlRelaxNGValidateProgressiveCallback()
8239 xmlRelaxNGDumpValidError(ctxt); in xmlRelaxNGValidateProgressiveCallback()
8240 ctxt->pstate = -1; in xmlRelaxNGValidateProgressiveCallback()
8252 ctxt->pstate = 0; in xmlRelaxNGValidateProgressiveCallback()
8253 ctxt->pdef = define; in xmlRelaxNGValidateProgressiveCallback()
8257 xmlRelaxNGValidateProgressiveCallback, ctxt); in xmlRelaxNGValidateProgressiveCallback()
8259 ctxt->pstate = -1; in xmlRelaxNGValidateProgressiveCallback()
8262 xmlRelaxNGElemPush(ctxt, exec); in xmlRelaxNGValidateProgressiveCallback()
8267 state = xmlRelaxNGNewValidState(ctxt, node); in xmlRelaxNGValidateProgressiveCallback()
8269 ctxt->pstate = -1; in xmlRelaxNGValidateProgressiveCallback()
8272 oldstate = ctxt->state; in xmlRelaxNGValidateProgressiveCallback()
8273 ctxt->state = state; in xmlRelaxNGValidateProgressiveCallback()
8275 ret = xmlRelaxNGValidateAttributeList(ctxt, define->attrs); in xmlRelaxNGValidateProgressiveCallback()
8277 ctxt->pstate = -1; in xmlRelaxNGValidateProgressiveCallback()
8281 if (ctxt->state != NULL) { in xmlRelaxNGValidateProgressiveCallback()
8282 ctxt->state->seq = NULL; in xmlRelaxNGValidateProgressiveCallback()
8283 ret = xmlRelaxNGValidateElementEnd(ctxt, 1); in xmlRelaxNGValidateProgressiveCallback()
8285 ctxt->pstate = -1; in xmlRelaxNGValidateProgressiveCallback()
8287 xmlRelaxNGFreeValidState(ctxt, ctxt->state); in xmlRelaxNGValidateProgressiveCallback()
8288 } else if (ctxt->states != NULL) { in xmlRelaxNGValidateProgressiveCallback()
8291 oldflags = ctxt->flags; in xmlRelaxNGValidateProgressiveCallback()
8293 for (i = 0; i < ctxt->states->nbState; i++) { in xmlRelaxNGValidateProgressiveCallback()
8294 state = ctxt->states->tabState[i]; in xmlRelaxNGValidateProgressiveCallback()
8295 ctxt->state = state; in xmlRelaxNGValidateProgressiveCallback()
8296 ctxt->state->seq = NULL; in xmlRelaxNGValidateProgressiveCallback()
8298 if (xmlRelaxNGValidateElementEnd(ctxt, 0) == 0) { in xmlRelaxNGValidateProgressiveCallback()
8307 ctxt->flags |= FLAGS_IGNORABLE; in xmlRelaxNGValidateProgressiveCallback()
8308 xmlRelaxNGLogBestError(ctxt); in xmlRelaxNGValidateProgressiveCallback()
8310 for (i = 0; i < ctxt->states->nbState; i++) { in xmlRelaxNGValidateProgressiveCallback()
8311 xmlRelaxNGFreeValidState(ctxt, ctxt->states->tabState[i]); in xmlRelaxNGValidateProgressiveCallback()
8313 xmlRelaxNGFreeStates(ctxt, ctxt->states); in xmlRelaxNGValidateProgressiveCallback()
8314 ctxt->states = NULL; in xmlRelaxNGValidateProgressiveCallback()
8316 ctxt->pstate = -1; in xmlRelaxNGValidateProgressiveCallback()
8317 ctxt->flags = oldflags; in xmlRelaxNGValidateProgressiveCallback()
8319 if (ctxt->pstate == -1) { in xmlRelaxNGValidateProgressiveCallback()
8320 if ((ctxt->flags & FLAGS_IGNORABLE) == 0) { in xmlRelaxNGValidateProgressiveCallback()
8321 xmlRelaxNGDumpValidError(ctxt); in xmlRelaxNGValidateProgressiveCallback()
8324 ctxt->state = oldstate; in xmlRelaxNGValidateProgressiveCallback()
8339 xmlRelaxNGValidatePushElement(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGValidatePushElement() argument
8345 if ((ctxt == NULL) || (elem == NULL)) in xmlRelaxNGValidatePushElement()
8351 if (ctxt->elem == 0) { in xmlRelaxNGValidatePushElement()
8357 schema = ctxt->schema; in xmlRelaxNGValidatePushElement()
8369 ctxt->pdef = define; in xmlRelaxNGValidatePushElement()
8374 ctxt); in xmlRelaxNGValidatePushElement()
8378 xmlRelaxNGElemPush(ctxt, exec); in xmlRelaxNGValidatePushElement()
8380 ctxt->pnode = elem; in xmlRelaxNGValidatePushElement()
8381 ctxt->pstate = 0; in xmlRelaxNGValidatePushElement()
8384 xmlRegExecPushString2(ctxt->elem, elem->name, elem->ns->href, in xmlRelaxNGValidatePushElement()
8385 ctxt); in xmlRelaxNGValidatePushElement()
8387 ret = xmlRegExecPushString(ctxt->elem, elem->name, ctxt); in xmlRelaxNGValidatePushElement()
8392 if (ctxt->pstate == 0) in xmlRelaxNGValidatePushElement()
8394 else if (ctxt->pstate < 0) in xmlRelaxNGValidatePushElement()
8418 xmlRelaxNGValidatePushCData(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGValidatePushCData() argument
8423 if ((ctxt == NULL) || (ctxt->elem == NULL) || (data == NULL)) in xmlRelaxNGValidatePushCData()
8438 ret = xmlRegExecPushString(ctxt->elem, BAD_CAST "#text", ctxt); in xmlRelaxNGValidatePushCData()
8461 xmlRelaxNGValidatePopElement(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGValidatePopElement() argument
8468 if ((ctxt == NULL) || (ctxt->elem == NULL) || (elem == NULL)) in xmlRelaxNGValidatePopElement()
8476 exec = xmlRelaxNGElemPop(ctxt); in xmlRelaxNGValidatePopElement()
8510 xmlRelaxNGValidateFullElement(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGValidateFullElement() argument
8517 if ((ctxt == NULL) || (ctxt->pdef == NULL) || (elem == NULL)) in xmlRelaxNGValidateFullElement()
8522 state = xmlRelaxNGNewValidState(ctxt, elem->parent); in xmlRelaxNGValidateFullElement()
8527 ctxt->state = state; in xmlRelaxNGValidateFullElement()
8528 ctxt->errNo = XML_RELAXNG_OK; in xmlRelaxNGValidateFullElement()
8529 ret = xmlRelaxNGValidateDefinition(ctxt, ctxt->pdef); in xmlRelaxNGValidateFullElement()
8530 if ((ret != 0) || (ctxt->errNo != XML_RELAXNG_OK)) in xmlRelaxNGValidateFullElement()
8534 xmlRelaxNGFreeValidState(ctxt, ctxt->state); in xmlRelaxNGValidateFullElement()
8535 ctxt->state = NULL; in xmlRelaxNGValidateFullElement()
8549 static int xmlRelaxNGValidateValue(xmlRelaxNGValidCtxtPtr ctxt,
8562 xmlRelaxNGSkipIgnored(xmlRelaxNGValidCtxtPtr ctxt ATTRIBUTE_UNUSED, in xmlRelaxNGSkipIgnored()
8575 ((ctxt->flags & FLAGS_MIXED_CONTENT) || in xmlRelaxNGSkipIgnored()
8593 xmlRelaxNGNormalize(xmlRelaxNGValidCtxtPtr ctxt, const xmlChar * str) in xmlRelaxNGNormalize() argument
8608 xmlRngVErrMemory(ctxt, "validating\n"); in xmlRelaxNGNormalize()
8640 xmlRelaxNGValidateDatatype(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGValidateDatatype() argument
8689 oldvalue = ctxt->state->value; in xmlRelaxNGValidateDatatype()
8690 oldendvalue = ctxt->state->endvalue; in xmlRelaxNGValidateDatatype()
8691 ctxt->state->value = (xmlChar *) value; in xmlRelaxNGValidateDatatype()
8692 ctxt->state->endvalue = NULL; in xmlRelaxNGValidateDatatype()
8693 ret = xmlRelaxNGValidateValue(ctxt, define->content); in xmlRelaxNGValidateDatatype()
8694 ctxt->state->value = (xmlChar *) oldvalue; in xmlRelaxNGValidateDatatype()
8695 ctxt->state->endvalue = (xmlChar *) oldendvalue; in xmlRelaxNGValidateDatatype()
8711 xmlRelaxNGNextValue(xmlRelaxNGValidCtxtPtr ctxt) in xmlRelaxNGNextValue() argument
8715 cur = ctxt->state->value; in xmlRelaxNGNextValue()
8716 if ((cur == NULL) || (ctxt->state->endvalue == NULL)) { in xmlRelaxNGNextValue()
8717 ctxt->state->value = NULL; in xmlRelaxNGNextValue()
8718 ctxt->state->endvalue = NULL; in xmlRelaxNGNextValue()
8723 while ((cur != ctxt->state->endvalue) && (*cur == 0)) in xmlRelaxNGNextValue()
8725 if (cur == ctxt->state->endvalue) in xmlRelaxNGNextValue()
8726 ctxt->state->value = NULL; in xmlRelaxNGNextValue()
8728 ctxt->state->value = cur; in xmlRelaxNGNextValue()
8742 xmlRelaxNGValidateValueList(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGValidateValueList() argument
8748 ret = xmlRelaxNGValidateValue(ctxt, defines); in xmlRelaxNGValidateValueList()
8766 xmlRelaxNGValidateValue(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGValidateValue() argument
8772 value = ctxt->state->value; in xmlRelaxNGValidateValue()
8797 value, ctxt->state->node); in xmlRelaxNGValidateValue()
8816 nval = xmlRelaxNGNormalize(ctxt, define->value); in xmlRelaxNGValidateValue()
8817 nvalue = xmlRelaxNGNormalize(ctxt, value); in xmlRelaxNGValidateValue()
8829 xmlRelaxNGNextValue(ctxt); in xmlRelaxNGValidateValue()
8833 ret = xmlRelaxNGValidateDatatype(ctxt, value, define, in xmlRelaxNGValidateValue()
8834 ctxt->state->seq); in xmlRelaxNGValidateValue()
8836 xmlRelaxNGNextValue(ctxt); in xmlRelaxNGValidateValue()
8844 oldflags = ctxt->flags; in xmlRelaxNGValidateValue()
8845 ctxt->flags |= FLAGS_IGNORABLE; in xmlRelaxNGValidateValue()
8847 oldvalue = ctxt->state->value; in xmlRelaxNGValidateValue()
8849 ret = xmlRelaxNGValidateValue(ctxt, list); in xmlRelaxNGValidateValue()
8853 ctxt->state->value = oldvalue; in xmlRelaxNGValidateValue()
8856 ctxt->flags = oldflags; in xmlRelaxNGValidateValue()
8858 if ((ctxt->flags & FLAGS_IGNORABLE) == 0) in xmlRelaxNGValidateValue()
8859 xmlRelaxNGDumpValidError(ctxt); in xmlRelaxNGValidateValue()
8861 if (ctxt->errNr > 0) in xmlRelaxNGValidateValue()
8862 xmlRelaxNGPopErrors(ctxt, 0); in xmlRelaxNGValidateValue()
8874 oldvalue = ctxt->state->value; in xmlRelaxNGValidateValue()
8875 oldend = ctxt->state->endvalue; in xmlRelaxNGValidateValue()
8904 ctxt->state->endvalue = cur; in xmlRelaxNGValidateValue()
8906 while ((*cur == 0) && (cur != ctxt->state->endvalue)) in xmlRelaxNGValidateValue()
8909 ctxt->state->value = cur; in xmlRelaxNGValidateValue()
8912 if (ctxt->state->value == ctxt->state->endvalue) in xmlRelaxNGValidateValue()
8913 ctxt->state->value = NULL; in xmlRelaxNGValidateValue()
8914 ret = xmlRelaxNGValidateValue(ctxt, list); in xmlRelaxNGValidateValue()
8919 ctxt->state->value, nb_values); in xmlRelaxNGValidateValue()
8929 if ((ret == 0) && (ctxt->state->value != NULL) && in xmlRelaxNGValidateValue()
8930 (ctxt->state->value != ctxt->state->endvalue)) { in xmlRelaxNGValidateValue()
8932 ctxt->state->value); in xmlRelaxNGValidateValue()
8936 ctxt->state->value = oldvalue; in xmlRelaxNGValidateValue()
8937 ctxt->state->endvalue = oldend; in xmlRelaxNGValidateValue()
8941 ret = xmlRelaxNGValidateValueList(ctxt, define->content); in xmlRelaxNGValidateValue()
8949 if ((ctxt->state->value == NULL) || in xmlRelaxNGValidateValue()
8950 (*ctxt->state->value == 0)) { in xmlRelaxNGValidateValue()
8954 oldflags = ctxt->flags; in xmlRelaxNGValidateValue()
8955 ctxt->flags |= FLAGS_IGNORABLE; in xmlRelaxNGValidateValue()
8956 cur = ctxt->state->value; in xmlRelaxNGValidateValue()
8958 while ((cur != NULL) && (cur != ctxt->state->endvalue) && in xmlRelaxNGValidateValue()
8962 xmlRelaxNGValidateValueList(ctxt, define->content); in xmlRelaxNGValidateValue()
8964 ctxt->state->value = temp; in xmlRelaxNGValidateValue()
8968 cur = ctxt->state->value; in xmlRelaxNGValidateValue()
8970 ctxt->flags = oldflags; in xmlRelaxNGValidateValue()
8971 if (ctxt->errNr > 0) in xmlRelaxNGValidateValue()
8972 xmlRelaxNGPopErrors(ctxt, 0); in xmlRelaxNGValidateValue()
8978 if ((ctxt->state->value == NULL) || in xmlRelaxNGValidateValue()
8979 (*ctxt->state->value == 0)) { in xmlRelaxNGValidateValue()
8983 oldflags = ctxt->flags; in xmlRelaxNGValidateValue()
8984 ctxt->flags |= FLAGS_IGNORABLE; in xmlRelaxNGValidateValue()
8985 temp = ctxt->state->value; in xmlRelaxNGValidateValue()
8986 ret = xmlRelaxNGValidateValue(ctxt, define->content); in xmlRelaxNGValidateValue()
8987 ctxt->flags = oldflags; in xmlRelaxNGValidateValue()
8989 ctxt->state->value = temp; in xmlRelaxNGValidateValue()
8990 if (ctxt->errNr > 0) in xmlRelaxNGValidateValue()
8991 xmlRelaxNGPopErrors(ctxt, 0); in xmlRelaxNGValidateValue()
8995 if (ctxt->errNr > 0) in xmlRelaxNGValidateValue()
8996 xmlRelaxNGPopErrors(ctxt, 0); in xmlRelaxNGValidateValue()
9004 ret = xmlRelaxNGValidateValue(ctxt, list); in xmlRelaxNGValidateValue()
9020 ret = xmlRelaxNGValidateValue(ctxt, list); in xmlRelaxNGValidateValue()
9036 ret = xmlRelaxNGValidateValue(ctxt, define->content); in xmlRelaxNGValidateValue()
9055 xmlRelaxNGValidateValueContent(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGValidateValueContent() argument
9061 ret = xmlRelaxNGValidateValue(ctxt, defines); in xmlRelaxNGValidateValueContent()
9080 xmlRelaxNGAttributeMatch(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGAttributeMatch() argument
9107 ret = xmlRelaxNGAttributeMatch(ctxt, list, prop); in xmlRelaxNGAttributeMatch()
9119 ret = xmlRelaxNGAttributeMatch(ctxt, list, prop); in xmlRelaxNGAttributeMatch()
9142 xmlRelaxNGValidateAttribute(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGValidateAttribute() argument
9150 if (ctxt->state->nbAttrLeft <= 0) in xmlRelaxNGValidateAttribute()
9153 for (i = 0; i < ctxt->state->nbAttrs; i++) { in xmlRelaxNGValidateAttribute()
9154 tmp = ctxt->state->attrs[i]; in xmlRelaxNGValidateAttribute()
9167 oldvalue = ctxt->state->value; in xmlRelaxNGValidateAttribute()
9168 oldseq = ctxt->state->seq; in xmlRelaxNGValidateAttribute()
9169 ctxt->state->seq = (xmlNodePtr) prop; in xmlRelaxNGValidateAttribute()
9170 ctxt->state->value = value; in xmlRelaxNGValidateAttribute()
9171 ctxt->state->endvalue = NULL; in xmlRelaxNGValidateAttribute()
9172 ret = xmlRelaxNGValidateValueContent(ctxt, define->content); in xmlRelaxNGValidateAttribute()
9173 if (ctxt->state->value != NULL) in xmlRelaxNGValidateAttribute()
9174 value = ctxt->state->value; in xmlRelaxNGValidateAttribute()
9177 ctxt->state->value = oldvalue; in xmlRelaxNGValidateAttribute()
9178 ctxt->state->seq = oldseq; in xmlRelaxNGValidateAttribute()
9183 ctxt->state->attrs[i] = NULL; in xmlRelaxNGValidateAttribute()
9184 ctxt->state->nbAttrLeft--; in xmlRelaxNGValidateAttribute()
9195 for (i = 0; i < ctxt->state->nbAttrs; i++) { in xmlRelaxNGValidateAttribute()
9196 tmp = ctxt->state->attrs[i]; in xmlRelaxNGValidateAttribute()
9198 (xmlRelaxNGAttributeMatch(ctxt, define, tmp) == 1)) { in xmlRelaxNGValidateAttribute()
9205 oldvalue = ctxt->state->value; in xmlRelaxNGValidateAttribute()
9206 oldseq = ctxt->state->seq; in xmlRelaxNGValidateAttribute()
9207 ctxt->state->seq = (xmlNodePtr) prop; in xmlRelaxNGValidateAttribute()
9208 ctxt->state->value = value; in xmlRelaxNGValidateAttribute()
9209 ret = xmlRelaxNGValidateValueContent(ctxt, define->content); in xmlRelaxNGValidateAttribute()
9210 if (ctxt->state->value != NULL) in xmlRelaxNGValidateAttribute()
9211 value = ctxt->state->value; in xmlRelaxNGValidateAttribute()
9214 ctxt->state->value = oldvalue; in xmlRelaxNGValidateAttribute()
9215 ctxt->state->seq = oldseq; in xmlRelaxNGValidateAttribute()
9220 ctxt->state->attrs[i] = NULL; in xmlRelaxNGValidateAttribute()
9221 ctxt->state->nbAttrLeft--; in xmlRelaxNGValidateAttribute()
9252 xmlRelaxNGValidateAttributeList(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGValidateAttributeList() argument
9262 if (xmlRelaxNGValidateAttribute(ctxt, cur) != 0) in xmlRelaxNGValidateAttributeList()
9273 if ((ctxt->state != NULL) || (ctxt->states != NULL)) { in xmlRelaxNGValidateAttributeList()
9274 res = xmlRelaxNGValidateDefinition(ctxt, cur); in xmlRelaxNGValidateAttributeList()
9338 xmlRelaxNGValidateInterleave(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGValidateInterleave() argument
9342 int errNr = ctxt->errNr; in xmlRelaxNGValidateInterleave()
9361 oldflags = ctxt->flags; in xmlRelaxNGValidateInterleave()
9363 ctxt->flags |= FLAGS_MIXED_CONTENT; in xmlRelaxNGValidateInterleave()
9368 if (ctxt->state != NULL) in xmlRelaxNGValidateInterleave()
9369 ctxt->state->seq = xmlRelaxNGSkipIgnored(ctxt, in xmlRelaxNGValidateInterleave()
9370 ctxt->state->seq); in xmlRelaxNGValidateInterleave()
9372 ret = xmlRelaxNGValidateDefinition(ctxt, in xmlRelaxNGValidateInterleave()
9376 ret = xmlRelaxNGValidateDefinition(ctxt, in xmlRelaxNGValidateInterleave()
9380 if (ctxt->state != NULL) in xmlRelaxNGValidateInterleave()
9381 ctxt->state->seq = xmlRelaxNGSkipIgnored(ctxt, in xmlRelaxNGValidateInterleave()
9382 ctxt->state-> in xmlRelaxNGValidateInterleave()
9385 ctxt->flags = oldflags; in xmlRelaxNGValidateInterleave()
9396 xmlRngVErrMemory(ctxt, "validating\n"); in xmlRelaxNGValidateInterleave()
9402 xmlRngVErrMemory(ctxt, "validating\n"); in xmlRelaxNGValidateInterleave()
9411 cur = ctxt->state->seq; in xmlRelaxNGValidateInterleave()
9412 cur = xmlRelaxNGSkipIgnored(ctxt, cur); in xmlRelaxNGValidateInterleave()
9415 ctxt->state->seq = cur; in xmlRelaxNGValidateInterleave()
9478 cur = xmlRelaxNGSkipIgnored(ctxt, cur->next); in xmlRelaxNGValidateInterleave()
9486 oldstate = ctxt->state; in xmlRelaxNGValidateInterleave()
9488 ctxt->state = xmlRelaxNGCopyValidState(ctxt, oldstate); in xmlRelaxNGValidateInterleave()
9489 if (ctxt->state == NULL) { in xmlRelaxNGValidateInterleave()
9498 ctxt->state->seq = list[i]; in xmlRelaxNGValidateInterleave()
9499 ret = xmlRelaxNGValidateDefinition(ctxt, group->rule); in xmlRelaxNGValidateInterleave()
9502 if (ctxt->state != NULL) { in xmlRelaxNGValidateInterleave()
9503 cur = ctxt->state->seq; in xmlRelaxNGValidateInterleave()
9504 cur = xmlRelaxNGSkipIgnored(ctxt, cur); in xmlRelaxNGValidateInterleave()
9505 xmlRelaxNGFreeValidState(ctxt, oldstate); in xmlRelaxNGValidateInterleave()
9506 oldstate = ctxt->state; in xmlRelaxNGValidateInterleave()
9507 ctxt->state = NULL; in xmlRelaxNGValidateInterleave()
9511 ctxt->state = oldstate; in xmlRelaxNGValidateInterleave()
9514 } else if (ctxt->states != NULL) { in xmlRelaxNGValidateInterleave()
9524 for (j = 0; j < ctxt->states->nbState; j++) { in xmlRelaxNGValidateInterleave()
9525 cur = ctxt->states->tabState[j]->seq; in xmlRelaxNGValidateInterleave()
9526 cur = xmlRelaxNGSkipIgnored(ctxt, cur); in xmlRelaxNGValidateInterleave()
9529 lowattr = ctxt->states->tabState[j]->nbAttrLeft; in xmlRelaxNGValidateInterleave()
9533 if (ctxt->states->tabState[j]->nbAttrLeft <= lowattr) { in xmlRelaxNGValidateInterleave()
9535 lowattr = ctxt->states->tabState[j]->nbAttrLeft; in xmlRelaxNGValidateInterleave()
9542 lowattr = ctxt->states->tabState[j]->nbAttrLeft; in xmlRelaxNGValidateInterleave()
9545 if (ctxt->states->tabState[j]->nbAttrLeft <= lowattr) { in xmlRelaxNGValidateInterleave()
9547 lowattr = ctxt->states->tabState[j]->nbAttrLeft; in xmlRelaxNGValidateInterleave()
9555 if (ctxt->states->nbState > 0) { in xmlRelaxNGValidateInterleave()
9556 xmlRelaxNGFreeValidState(ctxt, oldstate); in xmlRelaxNGValidateInterleave()
9558 oldstate = ctxt->states->tabState[best]; in xmlRelaxNGValidateInterleave()
9559 ctxt->states->tabState[best] = NULL; in xmlRelaxNGValidateInterleave()
9562 ctxt->states->tabState[ctxt->states->nbState - 1]; in xmlRelaxNGValidateInterleave()
9563 ctxt->states->tabState[ctxt->states->nbState - 1] = NULL; in xmlRelaxNGValidateInterleave()
9564 ctxt->states->nbState--; in xmlRelaxNGValidateInterleave()
9567 for (j = 0; j < ctxt->states->nbState ; j++) { in xmlRelaxNGValidateInterleave()
9568 xmlRelaxNGFreeValidState(ctxt, ctxt->states->tabState[j]); in xmlRelaxNGValidateInterleave()
9570 xmlRelaxNGFreeStates(ctxt, ctxt->states); in xmlRelaxNGValidateInterleave()
9571 ctxt->states = NULL; in xmlRelaxNGValidateInterleave()
9580 ctxt->state = oldstate; in xmlRelaxNGValidateInterleave()
9591 if (ctxt->state != NULL) in xmlRelaxNGValidateInterleave()
9592 xmlRelaxNGFreeValidState(ctxt, ctxt->state); in xmlRelaxNGValidateInterleave()
9593 ctxt->state = oldstate; in xmlRelaxNGValidateInterleave()
9594 ctxt->state->seq = lastelem; in xmlRelaxNGValidateInterleave()
9602 ctxt->flags = oldflags; in xmlRelaxNGValidateInterleave()
9614 if (ctxt->errNr > errNr) in xmlRelaxNGValidateInterleave()
9615 xmlRelaxNGPopErrors(ctxt, errNr); in xmlRelaxNGValidateInterleave()
9633 xmlRelaxNGValidateDefinitionList(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGValidateDefinitionList() argument
9645 if ((ctxt->state != NULL) || (ctxt->states != NULL)) { in xmlRelaxNGValidateDefinitionList()
9646 res = xmlRelaxNGValidateDefinition(ctxt, defines); in xmlRelaxNGValidateDefinitionList()
9672 xmlRelaxNGElementMatch(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGElementMatch() argument
9708 if (ctxt != NULL) { in xmlRelaxNGElementMatch()
9709 oldflags = ctxt->flags; in xmlRelaxNGElementMatch()
9710 ctxt->flags |= FLAGS_IGNORABLE; in xmlRelaxNGElementMatch()
9715 ret = xmlRelaxNGElementMatch(ctxt, list, elem); in xmlRelaxNGElementMatch()
9717 if (ctxt != NULL) in xmlRelaxNGElementMatch()
9718 ctxt->flags = oldflags; in xmlRelaxNGElementMatch()
9722 if (ctxt != NULL) in xmlRelaxNGElementMatch()
9723 ctxt->flags = oldflags; in xmlRelaxNGElementMatch()
9729 if (ctxt != NULL) { in xmlRelaxNGElementMatch()
9730 ctxt->flags = oldflags; in xmlRelaxNGElementMatch()
9735 if (ctxt != NULL) { in xmlRelaxNGElementMatch()
9736 oldflags = ctxt->flags; in xmlRelaxNGElementMatch()
9737 ctxt->flags |= FLAGS_IGNORABLE; in xmlRelaxNGElementMatch()
9742 ret = xmlRelaxNGElementMatch(ctxt, list, elem); in xmlRelaxNGElementMatch()
9744 if (ctxt != NULL) in xmlRelaxNGElementMatch()
9745 ctxt->flags = oldflags; in xmlRelaxNGElementMatch()
9749 if (ctxt != NULL) in xmlRelaxNGElementMatch()
9750 ctxt->flags = oldflags; in xmlRelaxNGElementMatch()
9755 if (ctxt != NULL) { in xmlRelaxNGElementMatch()
9757 if ((ctxt->flags & FLAGS_IGNORABLE) == 0) in xmlRelaxNGElementMatch()
9758 xmlRelaxNGDumpValidError(ctxt); in xmlRelaxNGElementMatch()
9760 if (ctxt->errNr > 0) in xmlRelaxNGElementMatch()
9761 xmlRelaxNGPopErrors(ctxt, 0); in xmlRelaxNGElementMatch()
9765 if (ctxt != NULL) { in xmlRelaxNGElementMatch()
9766 ctxt->flags = oldflags; in xmlRelaxNGElementMatch()
9786 xmlRelaxNGBestState(xmlRelaxNGValidCtxtPtr ctxt) in xmlRelaxNGBestState() argument
9793 if ((ctxt == NULL) || (ctxt->states == NULL) || in xmlRelaxNGBestState()
9794 (ctxt->states->nbState <= 0)) in xmlRelaxNGBestState()
9797 for (i = 0; i < ctxt->states->nbState; i++) { in xmlRelaxNGBestState()
9798 state = ctxt->states->tabState[i]; in xmlRelaxNGBestState()
9825 xmlRelaxNGLogBestError(xmlRelaxNGValidCtxtPtr ctxt) in xmlRelaxNGLogBestError() argument
9829 if ((ctxt == NULL) || (ctxt->states == NULL) || in xmlRelaxNGLogBestError()
9830 (ctxt->states->nbState <= 0)) in xmlRelaxNGLogBestError()
9833 best = xmlRelaxNGBestState(ctxt); in xmlRelaxNGLogBestError()
9834 if ((best >= 0) && (best < ctxt->states->nbState)) { in xmlRelaxNGLogBestError()
9835 ctxt->state = ctxt->states->tabState[best]; in xmlRelaxNGLogBestError()
9837 xmlRelaxNGValidateElementEnd(ctxt, 1); in xmlRelaxNGLogBestError()
9853 xmlRelaxNGValidateElementEnd(xmlRelaxNGValidCtxtPtr ctxt, int dolog) in xmlRelaxNGValidateElementEnd() argument
9858 state = ctxt->state; in xmlRelaxNGValidateElementEnd()
9860 state->seq = xmlRelaxNGSkipIgnored(ctxt, state->seq); in xmlRelaxNGValidateElementEnd()
9891 xmlRelaxNGValidateState(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGValidateState() argument
9903 if (ctxt->state != NULL) { in xmlRelaxNGValidateState()
9904 node = ctxt->state->seq; in xmlRelaxNGValidateState()
9909 for (i = 0; i < ctxt->depth; i++) in xmlRelaxNGValidateState()
9920 ctxt->depth++; in xmlRelaxNGValidateState()
9923 xmlRelaxNGSkipIgnored(ctxt, node); in xmlRelaxNGValidateState()
9936 ctxt->state->seq = node; in xmlRelaxNGValidateState()
9939 errNr = ctxt->errNr; in xmlRelaxNGValidateState()
9940 node = xmlRelaxNGSkipIgnored(ctxt, node); in xmlRelaxNGValidateState()
9944 if ((ctxt->flags & FLAGS_IGNORABLE) == 0) in xmlRelaxNGValidateState()
9945 xmlRelaxNGDumpValidError(ctxt); in xmlRelaxNGValidateState()
9951 if ((ctxt->flags & FLAGS_IGNORABLE) == 0) in xmlRelaxNGValidateState()
9952 xmlRelaxNGDumpValidError(ctxt); in xmlRelaxNGValidateState()
9960 ctxt->state->seq = xmlRelaxNGSkipIgnored(ctxt, node->next); in xmlRelaxNGValidateState()
9961 if (ctxt->errNr > errNr) in xmlRelaxNGValidateState()
9962 xmlRelaxNGPopErrors(ctxt, errNr); in xmlRelaxNGValidateState()
9963 if (ctxt->errNr != 0) { in xmlRelaxNGValidateState()
9964 while ((ctxt->err != NULL) && in xmlRelaxNGValidateState()
9965 (((ctxt->err->err == XML_RELAXNG_ERR_ELEMNAME) in xmlRelaxNGValidateState()
9966 && (xmlStrEqual(ctxt->err->arg2, node->name))) in xmlRelaxNGValidateState()
9968 ((ctxt->err->err == in xmlRelaxNGValidateState()
9970 && (xmlStrEqual(ctxt->err->arg1, node->name))) in xmlRelaxNGValidateState()
9971 || (ctxt->err->err == XML_RELAXNG_ERR_NOELEM) in xmlRelaxNGValidateState()
9972 || (ctxt->err->err == in xmlRelaxNGValidateState()
9974 xmlRelaxNGValidErrorPop(ctxt); in xmlRelaxNGValidateState()
9979 ret = xmlRelaxNGElementMatch(ctxt, define, node); in xmlRelaxNGValidateState()
9982 if ((ctxt->flags & FLAGS_IGNORABLE) == 0) in xmlRelaxNGValidateState()
9983 xmlRelaxNGDumpValidError(ctxt); in xmlRelaxNGValidateState()
9987 if (ctxt->errNr != 0) { in xmlRelaxNGValidateState()
9988 if (ctxt->errNr > errNr) in xmlRelaxNGValidateState()
9989 xmlRelaxNGPopErrors(ctxt, errNr); in xmlRelaxNGValidateState()
9990 while ((ctxt->err != NULL) && in xmlRelaxNGValidateState()
9991 (((ctxt->err->err == XML_RELAXNG_ERR_ELEMNAME) && in xmlRelaxNGValidateState()
9992 (xmlStrEqual(ctxt->err->arg2, node->name))) || in xmlRelaxNGValidateState()
9993 ((ctxt->err->err == XML_RELAXNG_ERR_ELEMEXTRANS) && in xmlRelaxNGValidateState()
9994 (xmlStrEqual(ctxt->err->arg1, node->name))) || in xmlRelaxNGValidateState()
9995 (ctxt->err->err == XML_RELAXNG_ERR_NOELEM) || in xmlRelaxNGValidateState()
9996 (ctxt->err->err == XML_RELAXNG_ERR_NOTELEM))) in xmlRelaxNGValidateState()
9997 xmlRelaxNGValidErrorPop(ctxt); in xmlRelaxNGValidateState()
9999 errNr = ctxt->errNr; in xmlRelaxNGValidateState()
10001 oldflags = ctxt->flags; in xmlRelaxNGValidateState()
10002 if (ctxt->flags & FLAGS_MIXED_CONTENT) { in xmlRelaxNGValidateState()
10003 ctxt->flags -= FLAGS_MIXED_CONTENT; in xmlRelaxNGValidateState()
10005 state = xmlRelaxNGNewValidState(ctxt, node); in xmlRelaxNGValidateState()
10008 if ((ctxt->flags & FLAGS_IGNORABLE) == 0) in xmlRelaxNGValidateState()
10009 xmlRelaxNGDumpValidError(ctxt); in xmlRelaxNGValidateState()
10013 oldstate = ctxt->state; in xmlRelaxNGValidateState()
10014 ctxt->state = state; in xmlRelaxNGValidateState()
10016 tmp = xmlRelaxNGValidateAttributeList(ctxt, define->attrs); in xmlRelaxNGValidateState()
10023 xmlRelaxNGValidStatePtr nstate, tmpstate = ctxt->state; in xmlRelaxNGValidateState()
10024 xmlRelaxNGStatesPtr tmpstates = ctxt->states; in xmlRelaxNGValidateState()
10027 nstate = xmlRelaxNGNewValidState(ctxt, node); in xmlRelaxNGValidateState()
10028 ctxt->state = nstate; in xmlRelaxNGValidateState()
10029 ctxt->states = NULL; in xmlRelaxNGValidateState()
10031 tmp = xmlRelaxNGValidateCompiledContent(ctxt, in xmlRelaxNGValidateState()
10033 ctxt->state->seq); in xmlRelaxNGValidateState()
10034 nseq = ctxt->state->seq; in xmlRelaxNGValidateState()
10035 ctxt->state = tmpstate; in xmlRelaxNGValidateState()
10036 ctxt->states = tmpstates; in xmlRelaxNGValidateState()
10037 xmlRelaxNGFreeValidState(ctxt, nstate); in xmlRelaxNGValidateState()
10047 if (ctxt->states != NULL) { in xmlRelaxNGValidateState()
10050 for (i = 0; i < ctxt->states->nbState; i++) { in xmlRelaxNGValidateState()
10051 state = ctxt->states->tabState[i]; in xmlRelaxNGValidateState()
10052 ctxt->state = state; in xmlRelaxNGValidateState()
10053 ctxt->state->seq = nseq; in xmlRelaxNGValidateState()
10055 if (xmlRelaxNGValidateElementEnd(ctxt, 0) == 0) { in xmlRelaxNGValidateState()
10064 ctxt->flags |= FLAGS_IGNORABLE; in xmlRelaxNGValidateState()
10065 xmlRelaxNGLogBestError(ctxt); in xmlRelaxNGValidateState()
10067 for (i = 0; i < ctxt->states->nbState; i++) { in xmlRelaxNGValidateState()
10068 xmlRelaxNGFreeValidState(ctxt, in xmlRelaxNGValidateState()
10069 ctxt->states-> in xmlRelaxNGValidateState()
10072 xmlRelaxNGFreeStates(ctxt, ctxt->states); in xmlRelaxNGValidateState()
10073 ctxt->flags = oldflags; in xmlRelaxNGValidateState()
10074 ctxt->states = NULL; in xmlRelaxNGValidateState()
10078 state = ctxt->state; in xmlRelaxNGValidateState()
10079 if (ctxt->state != NULL) in xmlRelaxNGValidateState()
10080 ctxt->state->seq = nseq; in xmlRelaxNGValidateState()
10082 ret = xmlRelaxNGValidateElementEnd(ctxt, 1); in xmlRelaxNGValidateState()
10083 xmlRelaxNGFreeValidState(ctxt, state); in xmlRelaxNGValidateState()
10087 tmp = xmlRelaxNGValidateDefinitionList(ctxt, in xmlRelaxNGValidateState()
10092 if (ctxt->state == NULL) { in xmlRelaxNGValidateState()
10093 ctxt->state = oldstate; in xmlRelaxNGValidateState()
10096 ctxt->state = NULL; in xmlRelaxNGValidateState()
10104 if (ctxt->states != NULL) { in xmlRelaxNGValidateState()
10107 for (i = 0; i < ctxt->states->nbState; i++) { in xmlRelaxNGValidateState()
10108 state = ctxt->states->tabState[i]; in xmlRelaxNGValidateState()
10109 ctxt->state = state; in xmlRelaxNGValidateState()
10111 if (xmlRelaxNGValidateElementEnd(ctxt, 0) == 0) { in xmlRelaxNGValidateState()
10120 ctxt->flags |= FLAGS_IGNORABLE; in xmlRelaxNGValidateState()
10121 xmlRelaxNGLogBestError(ctxt); in xmlRelaxNGValidateState()
10123 for (i = 0; i < ctxt->states->nbState; i++) { in xmlRelaxNGValidateState()
10124 xmlRelaxNGFreeValidState(ctxt, in xmlRelaxNGValidateState()
10125 ctxt->states->tabState[i]); in xmlRelaxNGValidateState()
10126 ctxt->states->tabState[i] = NULL; in xmlRelaxNGValidateState()
10128 xmlRelaxNGFreeStates(ctxt, ctxt->states); in xmlRelaxNGValidateState()
10129 ctxt->flags = oldflags; in xmlRelaxNGValidateState()
10130 ctxt->states = NULL; in xmlRelaxNGValidateState()
10134 state = ctxt->state; in xmlRelaxNGValidateState()
10136 ret = xmlRelaxNGValidateElementEnd(ctxt, 1); in xmlRelaxNGValidateState()
10137 xmlRelaxNGFreeValidState(ctxt, state); in xmlRelaxNGValidateState()
10143 ctxt->flags = oldflags; in xmlRelaxNGValidateState()
10144 ctxt->state = oldstate; in xmlRelaxNGValidateState()
10146 oldstate->seq = xmlRelaxNGSkipIgnored(ctxt, node->next); in xmlRelaxNGValidateState()
10148 if ((ctxt->flags & FLAGS_IGNORABLE) == 0) { in xmlRelaxNGValidateState()
10149 xmlRelaxNGDumpValidError(ctxt); in xmlRelaxNGValidateState()
10157 if (ctxt->errNr > errNr) in xmlRelaxNGValidateState()
10158 xmlRelaxNGPopErrors(ctxt, errNr); in xmlRelaxNGValidateState()
10178 errNr = ctxt->errNr; in xmlRelaxNGValidateState()
10179 oldflags = ctxt->flags; in xmlRelaxNGValidateState()
10180 ctxt->flags |= FLAGS_IGNORABLE; in xmlRelaxNGValidateState()
10181 oldstate = xmlRelaxNGCopyValidState(ctxt, ctxt->state); in xmlRelaxNGValidateState()
10183 xmlRelaxNGValidateDefinitionList(ctxt, in xmlRelaxNGValidateState()
10186 if (ctxt->state != NULL) in xmlRelaxNGValidateState()
10187 xmlRelaxNGFreeValidState(ctxt, ctxt->state); in xmlRelaxNGValidateState()
10188 ctxt->state = oldstate; in xmlRelaxNGValidateState()
10189 ctxt->flags = oldflags; in xmlRelaxNGValidateState()
10191 if (ctxt->errNr > errNr) in xmlRelaxNGValidateState()
10192 xmlRelaxNGPopErrors(ctxt, errNr); in xmlRelaxNGValidateState()
10195 if (ctxt->states != NULL) { in xmlRelaxNGValidateState()
10196 xmlRelaxNGAddStates(ctxt, ctxt->states, oldstate); in xmlRelaxNGValidateState()
10198 ctxt->states = xmlRelaxNGNewStates(ctxt, 1); in xmlRelaxNGValidateState()
10199 if (ctxt->states == NULL) { in xmlRelaxNGValidateState()
10200 xmlRelaxNGFreeValidState(ctxt, oldstate); in xmlRelaxNGValidateState()
10201 ctxt->flags = oldflags; in xmlRelaxNGValidateState()
10203 if (ctxt->errNr > errNr) in xmlRelaxNGValidateState()
10204 xmlRelaxNGPopErrors(ctxt, errNr); in xmlRelaxNGValidateState()
10207 xmlRelaxNGAddStates(ctxt, ctxt->states, oldstate); in xmlRelaxNGValidateState()
10208 xmlRelaxNGAddStates(ctxt, ctxt->states, ctxt->state); in xmlRelaxNGValidateState()
10209 ctxt->state = NULL; in xmlRelaxNGValidateState()
10211 ctxt->flags = oldflags; in xmlRelaxNGValidateState()
10213 if (ctxt->errNr > errNr) in xmlRelaxNGValidateState()
10214 xmlRelaxNGPopErrors(ctxt, errNr); in xmlRelaxNGValidateState()
10218 errNr = ctxt->errNr; in xmlRelaxNGValidateState()
10219 ret = xmlRelaxNGValidateDefinitionList(ctxt, define->content); in xmlRelaxNGValidateState()
10223 if (ctxt->errNr > errNr) in xmlRelaxNGValidateState()
10224 xmlRelaxNGPopErrors(ctxt, errNr); in xmlRelaxNGValidateState()
10231 errNr = ctxt->errNr; in xmlRelaxNGValidateState()
10232 res = xmlRelaxNGNewStates(ctxt, 1); in xmlRelaxNGValidateState()
10240 if (ctxt->state != NULL) { in xmlRelaxNGValidateState()
10241 xmlRelaxNGAddStates(ctxt, res, in xmlRelaxNGValidateState()
10242 xmlRelaxNGCopyValidState(ctxt, in xmlRelaxNGValidateState()
10243 ctxt-> in xmlRelaxNGValidateState()
10246 for (j = 0; j < ctxt->states->nbState; j++) { in xmlRelaxNGValidateState()
10247 xmlRelaxNGAddStates(ctxt, res, in xmlRelaxNGValidateState()
10248 xmlRelaxNGCopyValidState(ctxt, in xmlRelaxNGValidateState()
10249 ctxt->states->tabState[j])); in xmlRelaxNGValidateState()
10252 oldflags = ctxt->flags; in xmlRelaxNGValidateState()
10253 ctxt->flags |= FLAGS_IGNORABLE; in xmlRelaxNGValidateState()
10258 if (ctxt->states != NULL) { in xmlRelaxNGValidateState()
10259 states = ctxt->states; in xmlRelaxNGValidateState()
10261 ctxt->state = states->tabState[i]; in xmlRelaxNGValidateState()
10262 ctxt->states = NULL; in xmlRelaxNGValidateState()
10263 ret = xmlRelaxNGValidateDefinitionList(ctxt, in xmlRelaxNGValidateState()
10267 if (ctxt->state != NULL) { in xmlRelaxNGValidateState()
10268 tmp = xmlRelaxNGAddStates(ctxt, res, in xmlRelaxNGValidateState()
10269 ctxt->state); in xmlRelaxNGValidateState()
10270 ctxt->state = NULL; in xmlRelaxNGValidateState()
10273 } else if (ctxt->states != NULL) { in xmlRelaxNGValidateState()
10274 for (j = 0; j < ctxt->states->nbState; in xmlRelaxNGValidateState()
10277 xmlRelaxNGAddStates(ctxt, res, in xmlRelaxNGValidateState()
10278 ctxt->states->tabState[j]); in xmlRelaxNGValidateState()
10282 xmlRelaxNGFreeStates(ctxt, in xmlRelaxNGValidateState()
10283 ctxt->states); in xmlRelaxNGValidateState()
10284 ctxt->states = NULL; in xmlRelaxNGValidateState()
10287 if (ctxt->state != NULL) { in xmlRelaxNGValidateState()
10288 xmlRelaxNGFreeValidState(ctxt, in xmlRelaxNGValidateState()
10289 ctxt->state); in xmlRelaxNGValidateState()
10290 ctxt->state = NULL; in xmlRelaxNGValidateState()
10295 ret = xmlRelaxNGValidateDefinitionList(ctxt, in xmlRelaxNGValidateState()
10299 xmlRelaxNGFreeValidState(ctxt, ctxt->state); in xmlRelaxNGValidateState()
10300 ctxt->state = NULL; in xmlRelaxNGValidateState()
10303 if (ctxt->state != NULL) { in xmlRelaxNGValidateState()
10304 tmp = xmlRelaxNGAddStates(ctxt, res, in xmlRelaxNGValidateState()
10305 ctxt->state); in xmlRelaxNGValidateState()
10306 ctxt->state = NULL; in xmlRelaxNGValidateState()
10309 } else if (ctxt->states != NULL) { in xmlRelaxNGValidateState()
10310 for (j = 0; j < ctxt->states->nbState; j++) { in xmlRelaxNGValidateState()
10311 tmp = xmlRelaxNGAddStates(ctxt, res, in xmlRelaxNGValidateState()
10312 ctxt->states->tabState[j]); in xmlRelaxNGValidateState()
10317 states = ctxt->states; in xmlRelaxNGValidateState()
10319 xmlRelaxNGFreeStates(ctxt, in xmlRelaxNGValidateState()
10320 ctxt->states); in xmlRelaxNGValidateState()
10322 ctxt->states = NULL; in xmlRelaxNGValidateState()
10332 ctxt->state = xmlRelaxNGCopyValidState(ctxt, in xmlRelaxNGValidateState()
10338 xmlRelaxNGNewStates(ctxt, in xmlRelaxNGValidateState()
10340 states = ctxt->states; in xmlRelaxNGValidateState()
10348 xmlRelaxNGAddStates(ctxt, states, in xmlRelaxNGValidateState()
10350 (ctxt, res->tabState[i])); in xmlRelaxNGValidateState()
10351 ctxt->states = states; in xmlRelaxNGValidateState()
10356 xmlRelaxNGFreeStates(ctxt, states); in xmlRelaxNGValidateState()
10358 ctxt->states = res; in xmlRelaxNGValidateState()
10359 ctxt->flags = oldflags; in xmlRelaxNGValidateState()
10364 if (ctxt->errNr > errNr) in xmlRelaxNGValidateState()
10365 xmlRelaxNGPopErrors(ctxt, errNr); in xmlRelaxNGValidateState()
10374 node = xmlRelaxNGSkipIgnored(ctxt, node); in xmlRelaxNGValidateState()
10376 errNr = ctxt->errNr; in xmlRelaxNGValidateState()
10416 ret = xmlRelaxNGValidateDefinition(ctxt, list); in xmlRelaxNGValidateState()
10423 oldflags = ctxt->flags; in xmlRelaxNGValidateState()
10424 ctxt->flags |= FLAGS_IGNORABLE; in xmlRelaxNGValidateState()
10427 oldstate = xmlRelaxNGCopyValidState(ctxt, ctxt->state); in xmlRelaxNGValidateState()
10428 ret = xmlRelaxNGValidateDefinition(ctxt, list); in xmlRelaxNGValidateState()
10431 states = xmlRelaxNGNewStates(ctxt, 1); in xmlRelaxNGValidateState()
10433 if (ctxt->state != NULL) { in xmlRelaxNGValidateState()
10434 xmlRelaxNGAddStates(ctxt, states, ctxt->state); in xmlRelaxNGValidateState()
10435 } else if (ctxt->states != NULL) { in xmlRelaxNGValidateState()
10436 for (i = 0; i < ctxt->states->nbState; i++) { in xmlRelaxNGValidateState()
10437 xmlRelaxNGAddStates(ctxt, states, in xmlRelaxNGValidateState()
10438 ctxt->states-> in xmlRelaxNGValidateState()
10441 xmlRelaxNGFreeStates(ctxt, ctxt->states); in xmlRelaxNGValidateState()
10442 ctxt->states = NULL; in xmlRelaxNGValidateState()
10445 xmlRelaxNGFreeValidState(ctxt, ctxt->state); in xmlRelaxNGValidateState()
10447 ctxt->state = oldstate; in xmlRelaxNGValidateState()
10451 xmlRelaxNGFreeValidState(ctxt, oldstate); in xmlRelaxNGValidateState()
10452 ctxt->states = states; in xmlRelaxNGValidateState()
10453 ctxt->state = NULL; in xmlRelaxNGValidateState()
10456 ctxt->states = NULL; in xmlRelaxNGValidateState()
10458 ctxt->flags = oldflags; in xmlRelaxNGValidateState()
10460 if ((ctxt->flags & FLAGS_IGNORABLE) == 0) { in xmlRelaxNGValidateState()
10461 xmlRelaxNGDumpValidError(ctxt); in xmlRelaxNGValidateState()
10464 if (ctxt->errNr > errNr) in xmlRelaxNGValidateState()
10465 xmlRelaxNGPopErrors(ctxt, errNr); in xmlRelaxNGValidateState()
10471 ret = xmlRelaxNGValidateDefinitionList(ctxt, define->content); in xmlRelaxNGValidateState()
10474 ret = xmlRelaxNGValidateInterleave(ctxt, define); in xmlRelaxNGValidateState()
10477 ret = xmlRelaxNGValidateAttribute(ctxt, define); in xmlRelaxNGValidateState()
10484 ret = xmlRelaxNGValidateDefinition(ctxt, define->content); in xmlRelaxNGValidateState()
10512 xmlRngVErrMemory(ctxt, "validating\n"); in xmlRelaxNGValidateState()
10517 ret = xmlRelaxNGValidateDatatype(ctxt, content, define, in xmlRelaxNGValidateState()
10518 ctxt->state->seq); in xmlRelaxNGValidateState()
10522 ctxt->state->seq = NULL; in xmlRelaxNGValidateState()
10555 xmlRngVErrMemory(ctxt, "validating\n"); in xmlRelaxNGValidateState()
10560 oldvalue = ctxt->state->value; in xmlRelaxNGValidateState()
10561 ctxt->state->value = content; in xmlRelaxNGValidateState()
10562 ret = xmlRelaxNGValidateValue(ctxt, define); in xmlRelaxNGValidateState()
10563 ctxt->state->value = oldvalue; in xmlRelaxNGValidateState()
10567 ctxt->state->seq = NULL; in xmlRelaxNGValidateState()
10606 xmlRngVErrMemory(ctxt, "validating\n"); in xmlRelaxNGValidateState()
10612 oldvalue = ctxt->state->value; in xmlRelaxNGValidateState()
10613 oldendvalue = ctxt->state->endvalue; in xmlRelaxNGValidateState()
10614 ctxt->state->value = content; in xmlRelaxNGValidateState()
10615 ctxt->state->endvalue = content + len; in xmlRelaxNGValidateState()
10616 ret = xmlRelaxNGValidateValue(ctxt, define); in xmlRelaxNGValidateState()
10617 ctxt->state->value = oldvalue; in xmlRelaxNGValidateState()
10618 ctxt->state->endvalue = oldendvalue; in xmlRelaxNGValidateState()
10622 ctxt->state->seq = node->next; in xmlRelaxNGValidateState()
10633 ctxt->depth--; in xmlRelaxNGValidateState()
10635 for (i = 0; i < ctxt->depth; i++) in xmlRelaxNGValidateState()
10659 xmlRelaxNGValidateDefinition(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGValidateDefinition() argument
10668 if ((ctxt->state != NULL) && (ctxt->states != NULL)) { in xmlRelaxNGValidateDefinition()
10669 TODO xmlRelaxNGFreeValidState(ctxt, ctxt->state); in xmlRelaxNGValidateDefinition()
10670 ctxt->state = NULL; in xmlRelaxNGValidateDefinition()
10673 if ((ctxt->states == NULL) || (ctxt->states->nbState == 1)) { in xmlRelaxNGValidateDefinition()
10674 if (ctxt->states != NULL) { in xmlRelaxNGValidateDefinition()
10675 ctxt->state = ctxt->states->tabState[0]; in xmlRelaxNGValidateDefinition()
10676 xmlRelaxNGFreeStates(ctxt, ctxt->states); in xmlRelaxNGValidateDefinition()
10677 ctxt->states = NULL; in xmlRelaxNGValidateDefinition()
10679 ret = xmlRelaxNGValidateState(ctxt, define); in xmlRelaxNGValidateDefinition()
10680 if ((ctxt->state != NULL) && (ctxt->states != NULL)) { in xmlRelaxNGValidateDefinition()
10681 TODO xmlRelaxNGFreeValidState(ctxt, ctxt->state); in xmlRelaxNGValidateDefinition()
10682 ctxt->state = NULL; in xmlRelaxNGValidateDefinition()
10684 if ((ctxt->states != NULL) && (ctxt->states->nbState == 1)) { in xmlRelaxNGValidateDefinition()
10685 ctxt->state = ctxt->states->tabState[0]; in xmlRelaxNGValidateDefinition()
10686 xmlRelaxNGFreeStates(ctxt, ctxt->states); in xmlRelaxNGValidateDefinition()
10687 ctxt->states = NULL; in xmlRelaxNGValidateDefinition()
10692 states = ctxt->states; in xmlRelaxNGValidateDefinition()
10693 ctxt->states = NULL; in xmlRelaxNGValidateDefinition()
10696 oldflags = ctxt->flags; in xmlRelaxNGValidateDefinition()
10697 ctxt->flags |= FLAGS_IGNORABLE; in xmlRelaxNGValidateDefinition()
10699 ctxt->state = states->tabState[i]; in xmlRelaxNGValidateDefinition()
10700 ctxt->states = NULL; in xmlRelaxNGValidateDefinition()
10701 ret = xmlRelaxNGValidateState(ctxt, define); in xmlRelaxNGValidateDefinition()
10705 if ((ctxt->state != NULL) && (ctxt->states != NULL)) { in xmlRelaxNGValidateDefinition()
10706 TODO xmlRelaxNGFreeValidState(ctxt, ctxt->state); in xmlRelaxNGValidateDefinition()
10707 ctxt->state = NULL; in xmlRelaxNGValidateDefinition()
10710 if (ctxt->states == NULL) { in xmlRelaxNGValidateDefinition()
10713 xmlRelaxNGAddStates(ctxt, res, ctxt->state); in xmlRelaxNGValidateDefinition()
10714 ctxt->state = NULL; in xmlRelaxNGValidateDefinition()
10717 states->tabState[j++] = ctxt->state; in xmlRelaxNGValidateDefinition()
10718 ctxt->state = NULL; in xmlRelaxNGValidateDefinition()
10723 res = ctxt->states; in xmlRelaxNGValidateDefinition()
10724 ctxt->states = NULL; in xmlRelaxNGValidateDefinition()
10726 xmlRelaxNGAddStates(ctxt, res, in xmlRelaxNGValidateDefinition()
10730 for (k = 0; k < ctxt->states->nbState; k++) in xmlRelaxNGValidateDefinition()
10731 xmlRelaxNGAddStates(ctxt, res, in xmlRelaxNGValidateDefinition()
10732 ctxt->states->tabState[k]); in xmlRelaxNGValidateDefinition()
10733 xmlRelaxNGFreeStates(ctxt, ctxt->states); in xmlRelaxNGValidateDefinition()
10734 ctxt->states = NULL; in xmlRelaxNGValidateDefinition()
10738 if (ctxt->state != NULL) { in xmlRelaxNGValidateDefinition()
10739 xmlRelaxNGFreeValidState(ctxt, ctxt->state); in xmlRelaxNGValidateDefinition()
10740 ctxt->state = NULL; in xmlRelaxNGValidateDefinition()
10741 } else if (ctxt->states != NULL) { in xmlRelaxNGValidateDefinition()
10742 for (k = 0; k < ctxt->states->nbState; k++) in xmlRelaxNGValidateDefinition()
10743 xmlRelaxNGFreeValidState(ctxt, in xmlRelaxNGValidateDefinition()
10744 ctxt->states->tabState[k]); in xmlRelaxNGValidateDefinition()
10745 xmlRelaxNGFreeStates(ctxt, ctxt->states); in xmlRelaxNGValidateDefinition()
10746 ctxt->states = NULL; in xmlRelaxNGValidateDefinition()
10750 ctxt->flags = oldflags; in xmlRelaxNGValidateDefinition()
10752 xmlRelaxNGFreeStates(ctxt, states); in xmlRelaxNGValidateDefinition()
10753 ctxt->states = res; in xmlRelaxNGValidateDefinition()
10757 ctxt->states = states; in xmlRelaxNGValidateDefinition()
10760 ctxt->state = states->tabState[0]; in xmlRelaxNGValidateDefinition()
10761 xmlRelaxNGFreeStates(ctxt, states); in xmlRelaxNGValidateDefinition()
10765 xmlRelaxNGFreeStates(ctxt, states); in xmlRelaxNGValidateDefinition()
10766 if (ctxt->states != NULL) { in xmlRelaxNGValidateDefinition()
10767 xmlRelaxNGFreeStates(ctxt, ctxt->states); in xmlRelaxNGValidateDefinition()
10768 ctxt->states = NULL; in xmlRelaxNGValidateDefinition()
10771 if ((ctxt->state != NULL) && (ctxt->states != NULL)) { in xmlRelaxNGValidateDefinition()
10772 TODO xmlRelaxNGFreeValidState(ctxt, ctxt->state); in xmlRelaxNGValidateDefinition()
10773 ctxt->state = NULL; in xmlRelaxNGValidateDefinition()
10788 xmlRelaxNGValidateDocument(xmlRelaxNGValidCtxtPtr ctxt, xmlDocPtr doc) in xmlRelaxNGValidateDocument() argument
10796 if ((ctxt == NULL) || (ctxt->schema == NULL) || (doc == NULL)) in xmlRelaxNGValidateDocument()
10799 ctxt->errNo = XML_RELAXNG_OK; in xmlRelaxNGValidateDocument()
10800 schema = ctxt->schema; in xmlRelaxNGValidateDocument()
10806 state = xmlRelaxNGNewValidState(ctxt, NULL); in xmlRelaxNGValidateDocument()
10807 ctxt->state = state; in xmlRelaxNGValidateDocument()
10808 ret = xmlRelaxNGValidateDefinition(ctxt, grammar->start); in xmlRelaxNGValidateDocument()
10809 if ((ctxt->state != NULL) && (state->seq != NULL)) { in xmlRelaxNGValidateDocument()
10810 state = ctxt->state; in xmlRelaxNGValidateDocument()
10812 node = xmlRelaxNGSkipIgnored(ctxt, node); in xmlRelaxNGValidateDocument()
10819 } else if (ctxt->states != NULL) { in xmlRelaxNGValidateDocument()
10823 for (i = 0; i < ctxt->states->nbState; i++) { in xmlRelaxNGValidateDocument()
10824 state = ctxt->states->tabState[i]; in xmlRelaxNGValidateDocument()
10826 node = xmlRelaxNGSkipIgnored(ctxt, node); in xmlRelaxNGValidateDocument()
10829 xmlRelaxNGFreeValidState(ctxt, state); in xmlRelaxNGValidateDocument()
10838 if (ctxt->state != NULL) { in xmlRelaxNGValidateDocument()
10839 xmlRelaxNGFreeValidState(ctxt, ctxt->state); in xmlRelaxNGValidateDocument()
10840 ctxt->state = NULL; in xmlRelaxNGValidateDocument()
10843 xmlRelaxNGDumpValidError(ctxt); in xmlRelaxNGValidateDocument()
10845 else if (ctxt->errNr != 0) { in xmlRelaxNGValidateDocument()
10846 ctxt->error(ctxt->userData, in xmlRelaxNGValidateDocument()
10848 ctxt->errNr); in xmlRelaxNGValidateDocument()
10849 xmlRelaxNGDumpValidError(ctxt); in xmlRelaxNGValidateDocument()
10853 if (ctxt->idref == 1) { in xmlRelaxNGValidateDocument()
10858 vctxt.error = ctxt->error; in xmlRelaxNGValidateDocument()
10859 vctxt.warning = ctxt->warning; in xmlRelaxNGValidateDocument()
10860 vctxt.userData = ctxt->userData; in xmlRelaxNGValidateDocument()
10866 if ((ret == 0) && (ctxt->errNo != XML_RELAXNG_OK)) in xmlRelaxNGValidateDocument()
10974 xmlRelaxNGFreeValidCtxt(xmlRelaxNGValidCtxtPtr ctxt) in xmlRelaxNGFreeValidCtxt() argument
10978 if (ctxt == NULL) in xmlRelaxNGFreeValidCtxt()
10980 if (ctxt->states != NULL) in xmlRelaxNGFreeValidCtxt()
10981 xmlRelaxNGFreeStates(NULL, ctxt->states); in xmlRelaxNGFreeValidCtxt()
10982 if (ctxt->freeState != NULL) { in xmlRelaxNGFreeValidCtxt()
10983 for (k = 0; k < ctxt->freeState->nbState; k++) { in xmlRelaxNGFreeValidCtxt()
10984 xmlRelaxNGFreeValidState(NULL, ctxt->freeState->tabState[k]); in xmlRelaxNGFreeValidCtxt()
10986 xmlRelaxNGFreeStates(NULL, ctxt->freeState); in xmlRelaxNGFreeValidCtxt()
10988 if (ctxt->freeStates != NULL) { in xmlRelaxNGFreeValidCtxt()
10989 for (k = 0; k < ctxt->freeStatesNr; k++) { in xmlRelaxNGFreeValidCtxt()
10990 xmlRelaxNGFreeStates(NULL, ctxt->freeStates[k]); in xmlRelaxNGFreeValidCtxt()
10992 xmlFree(ctxt->freeStates); in xmlRelaxNGFreeValidCtxt()
10994 if (ctxt->errTab != NULL) in xmlRelaxNGFreeValidCtxt()
10995 xmlFree(ctxt->errTab); in xmlRelaxNGFreeValidCtxt()
10996 if (ctxt->elemTab != NULL) { in xmlRelaxNGFreeValidCtxt()
10999 exec = xmlRelaxNGElemPop(ctxt); in xmlRelaxNGFreeValidCtxt()
11002 exec = xmlRelaxNGElemPop(ctxt); in xmlRelaxNGFreeValidCtxt()
11004 xmlFree(ctxt->elemTab); in xmlRelaxNGFreeValidCtxt()
11006 xmlFree(ctxt); in xmlRelaxNGFreeValidCtxt()
11019 xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGSetValidErrors() argument
11023 if (ctxt == NULL) in xmlRelaxNGSetValidErrors()
11025 ctxt->error = err; in xmlRelaxNGSetValidErrors()
11026 ctxt->warning = warn; in xmlRelaxNGSetValidErrors()
11027 ctxt->userData = ctx; in xmlRelaxNGSetValidErrors()
11028 ctxt->serror = NULL; in xmlRelaxNGSetValidErrors()
11040 xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGSetValidStructuredErrors() argument
11043 if (ctxt == NULL) in xmlRelaxNGSetValidStructuredErrors()
11045 ctxt->serror = serror; in xmlRelaxNGSetValidStructuredErrors()
11046 ctxt->error = NULL; in xmlRelaxNGSetValidStructuredErrors()
11047 ctxt->warning = NULL; in xmlRelaxNGSetValidStructuredErrors()
11048 ctxt->userData = ctx; in xmlRelaxNGSetValidStructuredErrors()
11063 xmlRelaxNGGetValidErrors(xmlRelaxNGValidCtxtPtr ctxt, in xmlRelaxNGGetValidErrors() argument
11067 if (ctxt == NULL) in xmlRelaxNGGetValidErrors()
11070 *err = ctxt->error; in xmlRelaxNGGetValidErrors()
11072 *warn = ctxt->warning; in xmlRelaxNGGetValidErrors()
11074 *ctx = ctxt->userData; in xmlRelaxNGGetValidErrors()
11089 xmlRelaxNGValidateDoc(xmlRelaxNGValidCtxtPtr ctxt, xmlDocPtr doc) in xmlRelaxNGValidateDoc() argument
11093 if ((ctxt == NULL) || (doc == NULL)) in xmlRelaxNGValidateDoc()
11096 ctxt->doc = doc; in xmlRelaxNGValidateDoc()
11098 ret = xmlRelaxNGValidateDocument(ctxt, doc); in xmlRelaxNGValidateDoc()