Home | History | Annotate | Download | only in libxml2

Lines Matching refs:ctxt

90 xmlXIncludeDoProcess(xmlXIncludeCtxtPtr ctxt, xmlDocPtr doc, xmlNodePtr tree);
106 xmlXIncludeErrMemory(xmlXIncludeCtxtPtr ctxt, xmlNodePtr node,
109 if (ctxt != NULL)
110 ctxt->nbErrors++;
111 __xmlRaiseError(NULL, NULL, NULL, ctxt, node, XML_FROM_XINCLUDE,
119 * @ctxt: the XInclude context
127 xmlXIncludeErr(xmlXIncludeCtxtPtr ctxt, xmlNodePtr node, int error,
130 if (ctxt != NULL)
131 ctxt->nbErrors++;
132 __xmlRaiseError(NULL, NULL, NULL, ctxt, node, XML_FROM_XINCLUDE,
141 * @ctxt: the XInclude context
149 xmlXIncludeWarn(xmlXIncludeCtxtPtr ctxt, xmlNodePtr node, int error,
152 __xmlRaiseError(NULL, NULL, NULL, ctxt, node, XML_FROM_XINCLUDE,
161 * @ctxt: the XInclude context
170 xmlXIncludeGetProp(xmlXIncludeCtxtPtr ctxt, xmlNodePtr cur,
177 if (ctxt->legacy != 0) {
215 * @ctxt: the XInclude context
223 xmlXIncludeNewRef(xmlXIncludeCtxtPtr ctxt, const xmlChar *URI,
232 xmlXIncludeErrMemory(ctxt, ref, "growing XInclude context");
246 if (ctxt->incMax == 0) {
247 ctxt->incMax = 4;
248 ctxt->incTab = (xmlXIncludeRefPtr *) xmlMalloc(ctxt->incMax *
249 sizeof(ctxt->incTab[0]));
250 if (ctxt->incTab == NULL) {
251 xmlXIncludeErrMemory(ctxt, ref, "growing XInclude context");
256 if (ctxt->incNr >= ctxt->incMax) {
257 ctxt->incMax *= 2;
258 ctxt->incTab = (xmlXIncludeRefPtr *) xmlRealloc(ctxt->incTab,
259 ctxt->incMax * sizeof(ctxt->incTab[0]));
260 if (ctxt->incTab == NULL) {
261 xmlXIncludeErrMemory(ctxt, ref, "growing XInclude context");
266 ctxt->incTab[ctxt->incNr++] = ret;
305 * @ctxt: the parser context
313 xmlXIncludeURLPush(xmlXIncludeCtxtPtr ctxt,
316 if (ctxt->urlNr > XINCLUDE_MAX_DEPTH) {
317 xmlXIncludeErr(ctxt, NULL, XML_XINCLUDE_RECURSION,
321 if (ctxt->urlTab == NULL) {
322 ctxt->urlMax = 4;
323 ctxt->urlNr = 0;
324 ctxt->urlTab = (xmlChar * *) xmlMalloc(
325 ctxt->urlMax * sizeof(ctxt->urlTab[0]));
326 if (ctxt->urlTab == NULL) {
327 xmlXIncludeErrMemory(ctxt, NULL, "adding URL");
331 if (ctxt->urlNr >= ctxt->urlMax) {
332 ctxt->urlMax *= 2;
333 ctxt->urlTab =
334 (xmlChar * *) xmlRealloc(ctxt->urlTab,
335 ctxt->urlMax *
336 sizeof(ctxt->urlTab[0]));
337 if (ctxt->urlTab == NULL) {
338 xmlXIncludeErrMemory(ctxt, NULL, "adding URL");
342 ctxt->url = ctxt->urlTab[ctxt->urlNr] = xmlStrdup(value);
343 return (ctxt->urlNr++);
348 * @ctxt: the parser context
353 xmlXIncludeURLPop(xmlXIncludeCtxtPtr ctxt)
357 if (ctxt->urlNr <= 0)
359 ctxt->urlNr--;
360 if (ctxt->urlNr > 0)
361 ctxt->url = ctxt->urlTab[ctxt->urlNr - 1];
363 ctxt->url = NULL;
364 ret = ctxt->urlTab[ctxt->urlNr];
365 ctxt->urlTab[ctxt->urlNr] = NULL;
372 * @ctxt: the XInclude context
377 xmlXIncludeFreeContext(xmlXIncludeCtxtPtr ctxt) {
383 if (ctxt == NULL)
385 while (ctxt->urlNr > 0)
386 xmlXIncludeURLPop(ctxt);
387 if (ctxt->urlTab != NULL)
388 xmlFree(ctxt->urlTab);
389 for (i = 0;i < ctxt->incNr;i++) {
390 if (ctxt->incTab[i] != NULL)
391 xmlXIncludeFreeRef(ctxt->incTab[i]);
393 if (ctxt->txturlTab != NULL) {
394 for (i = 0;i < ctxt->txtNr;i++) {
395 if (ctxt->txturlTab[i] != NULL)
396 xmlFree(ctxt->txturlTab[i]);
399 if (ctxt->incTab != NULL)
400 xmlFree(ctxt->incTab);
401 if (ctxt->txtTab != NULL)
402 xmlFree(ctxt->txtTab);
403 if (ctxt->txturlTab != NULL)
404 xmlFree(ctxt->txturlTab);
405 if (ctxt->base != NULL) {
406 xmlFree(ctxt->base);
408 xmlFree(ctxt);
413 * @ctxt: the XInclude context
419 xmlXIncludeParseFile(xmlXIncludeCtxtPtr ctxt, const char *URL) {
428 xmlXIncludeErrMemory(ctxt, NULL, "cannot allocate parser context");
435 pctxt->_private = ctxt->_private;
441 if ((ctxt->doc != NULL) && (ctxt->doc->dict != NULL)) {
444 pctxt->dict = ctxt->doc->dict;
448 xmlCtxtUseOptions(pctxt, ctxt->parseFlags | XML_PARSE_DTDLOAD);
481 * @ctxt: the XInclude context
487 xmlXIncludeAddNode(xmlXIncludeCtxtPtr ctxt, xmlNodePtr cur) {
500 if (ctxt == NULL)
511 href = xmlXIncludeGetProp(ctxt, cur, XINCLUDE_HREF);
519 parse = xmlXIncludeGetProp(ctxt, cur, XINCLUDE_PARSE);
526 xmlXIncludeErr(ctxt, cur, XML_XINCLUDE_PARSE_VALUE,
539 base = xmlNodeGetBase(ctxt->doc, cur);
541 URI = xmlBuildURI(href, ctxt->doc->URL);
566 xmlXIncludeErr(ctxt, cur, XML_XINCLUDE_HREF_URI,
570 fragment = xmlXIncludeGetProp(ctxt, cur, XINCLUDE_PARSE_XPOINTER);
577 xmlXIncludeErr(ctxt, cur, XML_XINCLUDE_HREF_URI,
586 if (ctxt->legacy != 0) {
593 xmlXIncludeErr(ctxt, cur, XML_XINCLUDE_FRAGMENT_ID,
608 xmlXIncludeErr(ctxt, cur, XML_XINCLUDE_HREF_URI,
620 xmlXIncludeErr(ctxt, cur, XML_XINCLUDE_RECURSION,
632 for (i = 0;i < ctxt->urlNr;i++) {
633 if (xmlStrEqual(URL, ctxt->urlTab[i])) {
634 xmlXIncludeErr(ctxt, cur, XML_XINCLUDE_RECURSION,
641 ctxt, URL, cur);
655 * @ctxt: the XInclude context
662 xmlXIncludeRecurseDoc(xmlXIncludeCtxtPtr ctxt, xmlDocPtr doc,
669 for (i = 0;i < ctxt->urlNr;i++) {
670 if (xmlStrEqual(doc->URL, ctxt->urlTab[i]))
687 newctxt->_private = ctxt->_private;
691 newctxt->incMax = ctxt->incMax;
692 newctxt->incNr = ctxt->incNr;
696 xmlXIncludeErrMemory(ctxt, (xmlNodePtr) doc, "processing doc");
703 newctxt->urlMax = ctxt->urlMax;
704 newctxt->urlNr = ctxt->urlNr;
705 newctxt->urlTab = ctxt->urlTab;
710 newctxt->base = xmlStrdup(ctxt->base);
715 newctxt->incBase = ctxt->incNr;
716 for (i = 0;i < ctxt->incNr;i++) {
717 newctxt->incTab[i] = ctxt->incTab[i];
725 newctxt->parseFlags = ctxt->parseFlags;
727 for (i = 0;i < ctxt->incNr;i++) {
733 ctxt->urlTab = newctxt->urlTab;
734 ctxt->urlMax = newctxt->urlMax;
749 * @ctxt: the XInclude context
756 xmlXIncludeAddTxt(xmlXIncludeCtxtPtr ctxt, xmlNodePtr txt, const xmlURL url) {
760 if (ctxt->txtMax == 0) {
761 ctxt->txtMax = 4;
762 ctxt->txtTab = (xmlNodePtr *) xmlMalloc(ctxt->txtMax *
763 sizeof(ctxt->txtTab[0]));
764 if (ctxt->txtTab == NULL) {
765 xmlXIncludeErrMemory(ctxt, NULL, "processing text");
768 ctxt->txturlTab = (xmlURL *) xmlMalloc(ctxt->txtMax *
769 sizeof(ctxt->txturlTab[0]));
770 if (ctxt->txturlTab == NULL) {
771 xmlXIncludeErrMemory(ctxt, NULL, "processing text");
775 if (ctxt->txtNr >= ctxt->txtMax) {
776 ctxt->txtMax *= 2;
777 ctxt->txtTab = (xmlNodePtr *) xmlRealloc(ctxt->txtTab,
778 ctxt->txtMax * sizeof(ctxt->txtTab[0]));
779 if (ctxt->txtTab == NULL) {
780 xmlXIncludeErrMemory(ctxt, NULL, "processing text");
783 ctxt->txturlTab = (xmlURL *) xmlRealloc(ctxt->txturlTab,
784 ctxt->txtMax * sizeof(ctxt->txturlTab[0]));
785 if (ctxt->txturlTab == NULL) {
786 xmlXIncludeErrMemory(ctxt, NULL, "processing text");
790 ctxt->txtTab[ctxt->txtNr] = txt;
791 ctxt->txturlTab[ctxt->txtNr] = xmlStrdup(url);
792 ctxt->txtNr++;
802 xmlXIncludeCopyNodeList(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target,
807 * @ctxt: the XInclude context
816 xmlXIncludeCopyNode(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target,
820 if ((ctxt == NULL) || (target == NULL) || (source == NULL) ||
826 result = xmlXIncludeCopyNodeList(ctxt, target, source, elem->children);
834 * @ctxt: the XInclude context
843 xmlXIncludeCopyNodeList(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target,
847 if ((ctxt == NULL) || (target == NULL) || (source == NULL) ||
852 res = xmlXIncludeCopyNode(ctxt, target, source, cur);
897 * @ctxt: the XInclude context
908 xmlXIncludeCopyRange(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target,
918 if ((ctxt == NULL) || (target == NULL) || (source == NULL) ||
1108 * @ctxt: the XInclude context
1120 xmlXIncludeCopyXPointer(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target,
1126 source = ctxt->doc;
1127 if ((ctxt == NULL) || (target == NULL) || (source == NULL) ||
1166 tmp = xmlXIncludeCopyNode(ctxt, target,
1195 list = last = xmlXIncludeCopyNode(ctxt, target, source,
1199 xmlXIncludeCopyNode(ctxt, target, source,
1213 list = last = xmlXIncludeCopyXPointer(ctxt, target, source,
1217 xmlXIncludeCopyXPointer(ctxt, target, source,
1228 return(xmlXIncludeCopyRange(ctxt, target, source, obj));
1248 xmlXIncludeCtxtPtr ctxt;
1264 xmlXIncludeCtxtPtr ctxt;
1268 ctxtctxt;
1270 if ((ctxt == NULL) || (doc == NULL))
1321 xmlXIncludeErr(ctxt, (xmlNodePtr) ent, XML_XINCLUDE_ENTITY_DEF_MISMATCH,
1328 * @ctxt: an XInclude context
1337 xmlXIncludeMergeEntities(xmlXIncludeCtxtPtr ctxt, xmlDocPtr doc,
1342 if (ctxt == NULL)
1362 data.ctxt = ctxt;
1372 data.ctxt = ctxt;
1389 * @ctxt: the XInclude context
1398 xmlXIncludeLoadDoc(xmlXIncludeCtxtPtr ctxt, const xmlChar *url, int nr) {
1416 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
1425 if ((ctxt->incTab != NULL) && (ctxt->incTab[nr] != NULL) &&
1426 (ctxt->incTab[nr]->fragment != NULL)) {
1428 fragment = xmlStrdup(ctxt->incTab[nr]->fragment);
1433 if (ctxt->incTab != NULL)
1434 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
1438 xmlXIncludeErr(ctxt, NULL,
1448 * directly through ctxt->doc.
1451 ((ctxt->doc != NULL) && (xmlStrEqual(URL, ctxt->doc->URL)))) {
1459 for (i = 0; i < ctxt->incNr; i++) {
1460 if ((xmlStrEqual(URL, ctxt->incTab[i]->URI)) &&
1461 (ctxt->incTab[i]->doc != NULL)) {
1462 doc = ctxt->incTab[i]->doc;
1482 saveFlags = ctxt->parseFlags;
1484 ctxt->parseFlags |= XML_PARSE_NOENT;
1488 doc = xmlXIncludeParseFile(ctxt, (const char *)URL);
1490 ctxt->parseFlags = saveFlags;
1498 ctxt->incTab[nr]->doc = doc;
1509 for (i = nr + 1; i < ctxt->incNr; i++) {
1510 if (xmlStrEqual(URL, ctxt->incTab[i]->URI)) {
1511 ctxt->incTab[nr]->count++;
1522 xmlXIncludeMergeEntities(ctxt, ctxt->doc, doc);
1537 xmlXIncludeRecurseDoc(ctxt, doc, URL);
1548 ctxt->incTab[nr]->inc = xmlCopyNodeList(ctxt->doc->children);
1550 ctxt->incTab[nr]->inc = xmlXIncludeCopyNodeList(ctxt, ctxt->doc,
1565 xptrctxt = xmlXPtrNewContext(ctxt->doc, ctxt->incTab[nr]->ref,
1571 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
1580 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
1597 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
1639 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
1646 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
1661 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
1672 ctxt->incTab[nr]->xptr = xptr;
1673 ctxt->incTab[nr]->inc = NULL;
1675 ctxt->incTab[nr]->inc =
1676 xmlXIncludeCopyXPointer(ctxt, ctxt->doc, doc, xptr);
1688 (!(ctxt->parseFlags & XML_PARSE_NOBASEFIX)) &&
1698 base = xmlGetNsProp(ctxt->incTab[nr]->ref, BAD_CAST "base",
1705 curBase = xmlBuildRelativeURI(URL, ctxt->base);
1707 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
1719 node = ctxt->incTab[nr]->inc;
1748 xmlXIncludeErr(ctxt,
1749 ctxt->incTab[nr]->ref,
1768 if ((nr < ctxt->incNr) && (ctxt->incTab[nr]->doc != NULL) &&
1769 (ctxt->incTab[nr]->count <= 1)) {
1771 printf("freeing %s\n", ctxt->incTab[nr]->doc->URL);
1773 xmlFreeDoc(ctxt->incTab[nr]->doc);
1774 ctxt->incTab[nr]->doc = NULL;
1782 * @ctxt: the XInclude context
1791 xmlXIncludeLoadTxt(xmlXIncludeCtxtPtr ctxt, const xmlChar *url, int nr) {
1805 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref, XML_XINCLUDE_HREF_URI,
1810 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref, XML_XINCLUDE_TEXT_FRAGMENT,
1819 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref, XML_XINCLUDE_HREF_URI,
1826 * directly through ctxt->doc.
1829 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
1839 for (i = 0; i < ctxt->txtNr; i++) {
1840 if (xmlStrEqual(URL, ctxt->txturlTab[i])) {
1841 node = xmlCopyNode(ctxt->txtTab[i], 1);
1848 if ((ctxt->incTab[nr] != NULL) && (ctxt->incTab[nr]->ref != NULL)) {
1849 encoding = xmlGetProp(ctxt->incTab[nr]->ref, XINCLUDE_PARSE_ENCODING);
1860 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
1895 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
1909 xmlXIncludeAddTxt(ctxt, node, URL);
1915 ctxt->incTab[nr]->inc = node;
1922 * @ctxt: the XInclude context
1932 xmlXIncludeLoadFallback(xmlXIncludeCtxtPtr ctxt, xmlNodePtr fallback, int nr) {
1936 if ((fallback == NULL) || (ctxt == NULL))
1943 newctxt = xmlXIncludeNewContext(ctxt->doc);
1946 newctxt->_private = ctxt->_private;
1947 newctxt->base = xmlStrdup(ctxt->base); /* Inherit the base from the existing context */
1948 xmlXIncludeSetFlags(newctxt, ctxt->parseFlags);
1949 ret = xmlXIncludeDoProcess(newctxt, ctxt->doc, fallback->children);
1950 if (ctxt->nbErrors > 0)
1956 ctxt->incTab[nr]->inc = xmlDocCopyNodeList(ctxt->doc,
1959 ctxt->incTab[nr]->inc = NULL;
1960 ctxt->incTab[nr]->emptyFb = 1; /* flag empty callback */
1973 * @ctxt: an XInclude context
1982 xmlXIncludePreProcessNode(xmlXIncludeCtxtPtr ctxt, xmlNodePtr node) {
1983 xmlXIncludeAddNode(ctxt, node);
1989 * @ctxt: an XInclude context
1997 xmlXIncludeLoadNode(xmlXIncludeCtxtPtr ctxt, int nr) {
2007 if (ctxt == NULL)
2009 if ((nr < 0) || (nr >= ctxt->incNr))
2011 cur = ctxt->incTab[nr]->ref;
2018 href = xmlXIncludeGetProp(ctxt, cur, XINCLUDE_HREF);
2024 parse = xmlXIncludeGetProp(ctxt, cur, XINCLUDE_PARSE);
2031 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
2045 base = xmlNodeGetBase(ctxt->doc, cur);
2047 URI = xmlBuildURI(href, ctxt->doc->URL);
2066 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
2085 oldBase = ctxt->base;
2086 ctxt->base = base;
2089 ret = xmlXIncludeLoadDoc(ctxt, URI, nr);
2090 /* xmlXIncludeGetFragment(ctxt, cur, URI); */
2092 ret = xmlXIncludeLoadTxt(ctxt, URI, nr);
2098 ctxt->base = oldBase;
2116 ret = xmlXIncludeLoadFallback(ctxt, children, nr);
2124 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
2146 * @ctxt: an XInclude context
2154 xmlXIncludeIncludeNode(xmlXIncludeCtxtPtr ctxt, int nr) {
2157 if (ctxt == NULL)
2159 if ((nr < 0) || (nr >= ctxt->incNr))
2161 cur = ctxt->incTab[nr]->ref;
2168 if ((ctxt->incTab[nr]->inc == NULL) &&
2169 (ctxt->incTab[nr]->xptr != NULL)) {
2170 ctxt->incTab[nr]->inc =
2171 xmlXIncludeCopyXPointer(ctxt, ctxt->doc, ctxt->doc,
2172 ctxt->incTab[nr]->xptr);
2173 xmlXPathFreeObject(ctxt->incTab[nr]->xptr);
2174 ctxt->incTab[nr]->xptr = NULL;
2176 list = ctxt->incTab[nr]->inc;
2177 ctxt->incTab[nr]->inc = NULL;
2193 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
2201 if (ctxt->parseFlags & XML_PARSE_NOXINCNODE) {
2221 xmlXIncludeErr(ctxt, ctxt->incTab[nr]->ref,
2246 * @ctxt: the XInclude processing context
2254 xmlXIncludeTestNode(xmlXIncludeCtxtPtr ctxt, xmlNodePtr node) {
2264 if (ctxt->legacy == 0) {
2266 xmlXIncludeWarn(ctxt, node, XML_XINCLUDE_DEPRECATED_NS,
2270 ctxt->legacy = 1;
2283 xmlXIncludeErr(ctxt, node,
2296 xmlXIncludeErr(ctxt, node, XML_XINCLUDE_FALLBACKS_IN_INCLUDE,
2310 xmlXIncludeErr(ctxt, node,
2322 * @ctxt: the XInclude processing context
2332 xmlXIncludeDoProcess(xmlXIncludeCtxtPtr ctxt, xmlDocPtr doc, xmlNodePtr tree) {
2339 if (ctxt == NULL)
2343 ret = xmlXIncludeURLPush(ctxt, doc->URL);
2347 start = ctxt->incNr;
2353 if (xmlXIncludeTestNode(ctxt, cur) == 1)
2354 xmlXIncludePreProcessNode(ctxt, cur);
2362 if (xmlXIncludeTestNode(ctxt, cur))
2363 xmlXIncludePreProcessNode(ctxt, cur);
2366 if (xmlXIncludeTestNode(ctxt, cur))
2367 xmlXIncludePreProcessNode(ctxt, cur);
2377 if (xmlXIncludeTestNode(ctxt, cur))
2378 xmlXIncludePreProcessNode(ctxt, cur);
2388 for (i = start;i < ctxt->incNr; i++) {
2389 xmlXIncludeLoadNode(ctxt, i);
2404 for (i = ctxt->incBase;i < ctxt->incNr; i++) {
2405 if ((ctxt->incTab[i]->inc != NULL) ||
2406 (ctxt->incTab[i]->xptr != NULL) ||
2407 (ctxt->incTab[i]->emptyFb != 0)) /* (empty fallback) */
2408 xmlXIncludeIncludeNode(ctxt, i);
2412 xmlXIncludeURLPop(ctxt);
2418 * @ctxt: an XInclude processing context
2426 xmlXIncludeSetFlags(xmlXIncludeCtxtPtr ctxt, int flags) {
2427 if (ctxt == NULL)
2429 ctxt->parseFlags = flags;
2448 xmlXIncludeCtxtPtr ctxt;
2454 ctxt = xmlXIncludeNewContext(tree->doc);
2455 if (ctxt == NULL)
2457 ctxt->_private = data;
2458 ctxt->base = xmlStrdup((xmlChar *)tree->doc->URL);
2459 xmlXIncludeSetFlags(ctxt, flags);
2460 ret = xmlXIncludeDoProcess(ctxt, tree->doc, tree);
2461 if ((ret >= 0) && (ctxt->nbErrors > 0))
2464 xmlXIncludeFreeContext(ctxt);
2533 xmlXIncludeCtxtPtr ctxt;
2538 ctxt = xmlXIncludeNewContext(tree->doc);
2539 if (ctxt == NULL)
2541 ctxt->base = xmlNodeGetBase(tree->doc, tree);
2542 xmlXIncludeSetFlags(ctxt, flags);
2543 ret = xmlXIncludeDoProcess(ctxt, tree->doc, tree);
2544 if ((ret >= 0) && (ctxt->nbErrors > 0))
2547 xmlXIncludeFreeContext(ctxt);
2567 * @ctxt: an existing XInclude context
2577 xmlXIncludeProcessNode(xmlXIncludeCtxtPtr ctxt, xmlNodePtr node) {
2580 if ((node == NULL) || (node->doc == NULL) || (ctxt == NULL))
2582 ret = xmlXIncludeDoProcess(ctxt, node->doc, node);
2583 if ((ret >= 0) && (ctxt->nbErrors > 0))