• Home
  • Raw
  • Download

Lines Matching refs:reader

82 #define DUMP_READER xmlTextReaderDebug(reader);
191 #define CONSTSTR(str) xmlDictLookup(reader->dict, (str), -1)
192 #define CONSTQSTR(p, str) xmlDictQLookup(reader->dict, (p), (str))
194 static int xmlTextReaderReadTree(xmlTextReaderPtr reader);
195 static int xmlTextReaderNextTree(xmlTextReaderPtr reader);
214 static void xmlTextReaderFreeNode(xmlTextReaderPtr reader, xmlNodePtr cur);
215 static void xmlTextReaderFreeNodeList(xmlTextReaderPtr reader, xmlNodePtr cur);
279 xmlTextReaderFreeProp(xmlTextReaderPtr reader, xmlAttrPtr cur) { in xmlTextReaderFreeProp() argument
282 dict = reader->ctxt->dict; in xmlTextReaderFreeProp()
296 xmlTextReaderFreeNodeList(reader, cur->children); in xmlTextReaderFreeProp()
299 if ((reader != NULL) && (reader->ctxt != NULL) && in xmlTextReaderFreeProp()
300 (reader->ctxt->freeAttrsNr < 100)) { in xmlTextReaderFreeProp()
301 cur->next = reader->ctxt->freeAttrs; in xmlTextReaderFreeProp()
302 reader->ctxt->freeAttrs = cur; in xmlTextReaderFreeProp()
303 reader->ctxt->freeAttrsNr++; in xmlTextReaderFreeProp()
317 xmlTextReaderFreePropList(xmlTextReaderPtr reader, xmlAttrPtr cur) { in xmlTextReaderFreePropList() argument
322 xmlTextReaderFreeProp(reader, cur); in xmlTextReaderFreePropList()
336 xmlTextReaderFreeNodeList(xmlTextReaderPtr reader, xmlNodePtr cur) { in xmlTextReaderFreeNodeList() argument
340 dict = reader->ctxt->dict; in xmlTextReaderFreeNodeList()
359 xmlTextReaderFreeNodeList(reader, cur->children); in xmlTextReaderFreeNodeList()
370 xmlTextReaderFreePropList(reader, cur->properties); in xmlTextReaderFreeNodeList()
392 (reader != NULL) && (reader->ctxt != NULL) && in xmlTextReaderFreeNodeList()
393 (reader->ctxt->freeElemsNr < 100)) { in xmlTextReaderFreeNodeList()
394 cur->next = reader->ctxt->freeElems; in xmlTextReaderFreeNodeList()
395 reader->ctxt->freeElems = cur; in xmlTextReaderFreeNodeList()
396 reader->ctxt->freeElemsNr++; in xmlTextReaderFreeNodeList()
414 xmlTextReaderFreeNode(xmlTextReaderPtr reader, xmlNodePtr cur) { in xmlTextReaderFreeNode() argument
417 dict = reader->ctxt->dict; in xmlTextReaderFreeNode()
427 xmlTextReaderFreeProp(reader, (xmlAttrPtr) cur); in xmlTextReaderFreeNode()
434 xmlTextReaderFreeNodeList(reader, cur->children); in xmlTextReaderFreeNode()
445 xmlTextReaderFreePropList(reader, cur->properties); in xmlTextReaderFreeNode()
468 (reader != NULL) && (reader->ctxt != NULL) && in xmlTextReaderFreeNode()
469 (reader->ctxt->freeElemsNr < 100)) { in xmlTextReaderFreeNode()
470 cur->next = reader->ctxt->freeElems; in xmlTextReaderFreeNode()
471 reader->ctxt->freeElems = cur; in xmlTextReaderFreeNode()
472 reader->ctxt->freeElemsNr++; in xmlTextReaderFreeNode()
497 xmlTextReaderFreeDoc(xmlTextReaderPtr reader, xmlDocPtr cur) { in xmlTextReaderFreeDoc() argument
527 if (cur->children != NULL) xmlTextReaderFreeNodeList(reader, cur->children); in xmlTextReaderFreeDoc()
546 xmlTextReaderDebug(xmlTextReaderPtr reader) { in xmlTextReaderDebug() argument
547 if ((reader == NULL) || (reader->ctxt == NULL)) { in xmlTextReaderDebug()
552 reader->state, reader->depth); in xmlTextReaderDebug()
553 if (reader->node == NULL) { in xmlTextReaderDebug()
556 fprintf(stderr, "node %s\n", reader->node->name); in xmlTextReaderDebug()
559 reader->base, reader->cur, reader->ctxt->nodeNr); in xmlTextReaderDebug()
560 if (reader->input->buffer == NULL) { in xmlTextReaderDebug()
565 &reader->input->buffer->content[reader->cur]); in xmlTextReaderDebug()
582 xmlTextReaderEntPush(xmlTextReaderPtr reader, xmlNodePtr value) in xmlTextReaderEntPush() argument
584 if (reader->entMax <= 0) { in xmlTextReaderEntPush()
585 reader->entMax = 10; in xmlTextReaderEntPush()
586 reader->entTab = (xmlNodePtr *) xmlMalloc(reader->entMax * in xmlTextReaderEntPush()
587 sizeof(reader->entTab[0])); in xmlTextReaderEntPush()
588 if (reader->entTab == NULL) { in xmlTextReaderEntPush()
593 if (reader->entNr >= reader->entMax) { in xmlTextReaderEntPush()
594 reader->entMax *= 2; in xmlTextReaderEntPush()
595 reader->entTab = in xmlTextReaderEntPush()
596 (xmlNodePtr *) xmlRealloc(reader->entTab, in xmlTextReaderEntPush()
597 reader->entMax * in xmlTextReaderEntPush()
598 sizeof(reader->entTab[0])); in xmlTextReaderEntPush()
599 if (reader->entTab == NULL) { in xmlTextReaderEntPush()
604 reader->entTab[reader->entNr] = value; in xmlTextReaderEntPush()
605 reader->ent = value; in xmlTextReaderEntPush()
606 return (reader->entNr++); in xmlTextReaderEntPush()
618 xmlTextReaderEntPop(xmlTextReaderPtr reader) in xmlTextReaderEntPop() argument
622 if (reader->entNr <= 0) in xmlTextReaderEntPop()
624 reader->entNr--; in xmlTextReaderEntPop()
625 if (reader->entNr > 0) in xmlTextReaderEntPop()
626 reader->ent = reader->entTab[reader->entNr - 1]; in xmlTextReaderEntPop()
628 reader->ent = NULL; in xmlTextReaderEntPop()
629 ret = reader->entTab[reader->entNr]; in xmlTextReaderEntPop()
630 reader->entTab[reader->entNr] = NULL; in xmlTextReaderEntPop()
646 xmlTextReaderPtr reader = ctxt->_private; in xmlTextReaderStartElement() local
651 if ((reader != NULL) && (reader->startElement != NULL)) { in xmlTextReaderStartElement()
652 reader->startElement(ctx, fullname, atts); in xmlTextReaderStartElement()
658 if (reader != NULL) in xmlTextReaderStartElement()
659 reader->state = XML_TEXTREADER_ELEMENT; in xmlTextReaderStartElement()
672 xmlTextReaderPtr reader = ctxt->_private; in xmlTextReaderEndElement() local
677 if ((reader != NULL) && (reader->endElement != NULL)) { in xmlTextReaderEndElement()
678 reader->endElement(ctx, fullname); in xmlTextReaderEndElement()
709 xmlTextReaderPtr reader = ctxt->_private; in xmlTextReaderStartElementNs() local
714 if ((reader != NULL) && (reader->startElementNs != NULL)) { in xmlTextReaderStartElementNs()
715 reader->startElementNs(ctx, localname, prefix, URI, nb_namespaces, in xmlTextReaderStartElementNs()
723 if (reader != NULL) in xmlTextReaderStartElementNs()
724 reader->state = XML_TEXTREADER_ELEMENT; in xmlTextReaderStartElementNs()
743 xmlTextReaderPtr reader = ctxt->_private; in xmlTextReaderEndElementNs() local
748 if ((reader != NULL) && (reader->endElementNs != NULL)) { in xmlTextReaderEndElementNs()
749 reader->endElementNs(ctx, localname, prefix, URI); in xmlTextReaderEndElementNs()
766 xmlTextReaderPtr reader = ctxt->_private; in xmlTextReaderCharacters() local
771 if ((reader != NULL) && (reader->characters != NULL)) { in xmlTextReaderCharacters()
772 reader->characters(ctx, ch, len); in xmlTextReaderCharacters()
788 xmlTextReaderPtr reader = ctxt->_private; in xmlTextReaderCDataBlock() local
793 if ((reader != NULL) && (reader->cdataBlock != NULL)) { in xmlTextReaderCDataBlock()
794 reader->cdataBlock(ctx, ch, len); in xmlTextReaderCDataBlock()
808 xmlTextReaderPushData(xmlTextReaderPtr reader) { in xmlTextReaderPushData() argument
813 if ((reader->input == NULL) || (reader->input->buffer == NULL)) in xmlTextReaderPushData()
816 oldstate = reader->state; in xmlTextReaderPushData()
817 reader->state = XML_TEXTREADER_NONE; in xmlTextReaderPushData()
818 inbuf = reader->input->buffer; in xmlTextReaderPushData()
820 while (reader->state == XML_TEXTREADER_NONE) { in xmlTextReaderPushData()
821 if (inbuf->use < reader->cur + CHUNK_SIZE) { in xmlTextReaderPushData()
825 if (reader->mode != XML_TEXTREADER_MODE_EOF) { in xmlTextReaderPushData()
826 val = xmlParserInputBufferRead(reader->input, 4096); in xmlTextReaderPushData()
829 if (inbuf->use == reader->cur) { in xmlTextReaderPushData()
830 reader->mode = XML_TEXTREADER_MODE_EOF; in xmlTextReaderPushData()
831 reader->state = oldstate; in xmlTextReaderPushData()
834 reader->mode = XML_TEXTREADER_MODE_EOF; in xmlTextReaderPushData()
835 reader->state = oldstate; in xmlTextReaderPushData()
837 (reader->ctxt->myDoc != NULL)) in xmlTextReaderPushData()
841 reader->mode = XML_TEXTREADER_MODE_EOF; in xmlTextReaderPushData()
852 if (inbuf->use >= reader->cur + CHUNK_SIZE) { in xmlTextReaderPushData()
853 val = xmlParseChunk(reader->ctxt, in xmlTextReaderPushData()
854 (const char *) &inbuf->content[reader->cur], in xmlTextReaderPushData()
856 reader->cur += CHUNK_SIZE; in xmlTextReaderPushData()
857 if ((val != 0) || (reader->ctxt->wellFormed == 0)) in xmlTextReaderPushData()
860 s = inbuf->use - reader->cur; in xmlTextReaderPushData()
861 val = xmlParseChunk(reader->ctxt, in xmlTextReaderPushData()
862 (const char *) &inbuf->content[reader->cur], in xmlTextReaderPushData()
864 reader->cur += s; in xmlTextReaderPushData()
865 if ((val != 0) || (reader->ctxt->wellFormed == 0)) in xmlTextReaderPushData()
874 if (reader->mode == XML_TEXTREADER_MODE_INTERACTIVE) { in xmlTextReaderPushData()
876 if ((reader->cur >= 4096) && in xmlTextReaderPushData()
877 (inbuf->use - reader->cur <= CHUNK_SIZE)) { in xmlTextReaderPushData()
878 val = xmlBufferShrink(inbuf, reader->cur); in xmlTextReaderPushData()
880 reader->cur -= val; in xmlTextReaderPushData()
890 else if (reader->mode == XML_TEXTREADER_MODE_EOF) { in xmlTextReaderPushData()
891 if (reader->state != XML_TEXTREADER_DONE) { in xmlTextReaderPushData()
892 s = inbuf->use - reader->cur; in xmlTextReaderPushData()
893 val = xmlParseChunk(reader->ctxt, in xmlTextReaderPushData()
894 (const char *) &inbuf->content[reader->cur], in xmlTextReaderPushData()
896 reader->cur = inbuf->use; in xmlTextReaderPushData()
897 reader->state = XML_TEXTREADER_DONE; in xmlTextReaderPushData()
898 if ((val != 0) || (reader->ctxt->wellFormed == 0)) in xmlTextReaderPushData()
902 reader->state = oldstate; in xmlTextReaderPushData()
914 xmlTextReaderValidatePush(xmlTextReaderPtr reader ATTRIBUTE_UNUSED) { in xmlTextReaderValidatePush()
915 xmlNodePtr node = reader->node; in xmlTextReaderValidatePush()
918 if ((reader->validate == XML_TEXTREADER_VALIDATE_DTD) && in xmlTextReaderValidatePush()
919 (reader->ctxt != NULL) && (reader->ctxt->validate == 1)) { in xmlTextReaderValidatePush()
921 reader->ctxt->valid &= xmlValidatePushElement(&reader->ctxt->vctxt, in xmlTextReaderValidatePush()
922 reader->ctxt->myDoc, node, node->name); in xmlTextReaderValidatePush()
930 reader->ctxt->valid &= xmlValidatePushElement(&reader->ctxt->vctxt, in xmlTextReaderValidatePush()
931 reader->ctxt->myDoc, node, qname); in xmlTextReaderValidatePush()
938 if ((reader->validate == XML_TEXTREADER_VALIDATE_RNG) && in xmlTextReaderValidatePush()
939 (reader->rngValidCtxt != NULL)) { in xmlTextReaderValidatePush()
942 if (reader->rngFullNode != NULL) return; in xmlTextReaderValidatePush()
943 ret = xmlRelaxNGValidatePushElement(reader->rngValidCtxt, in xmlTextReaderValidatePush()
944 reader->ctxt->myDoc, in xmlTextReaderValidatePush()
950 node = xmlTextReaderExpand(reader); in xmlTextReaderValidatePush()
955 ret = xmlRelaxNGValidateFullElement(reader->rngValidCtxt, in xmlTextReaderValidatePush()
956 reader->ctxt->myDoc, in xmlTextReaderValidatePush()
958 reader->rngFullNode = node; in xmlTextReaderValidatePush()
962 reader->rngValidErrors++; in xmlTextReaderValidatePush()
976 xmlTextReaderValidateCData(xmlTextReaderPtr reader, in xmlTextReaderValidateCData() argument
979 if ((reader->validate == XML_TEXTREADER_VALIDATE_DTD) && in xmlTextReaderValidateCData()
980 (reader->ctxt != NULL) && (reader->ctxt->validate == 1)) { in xmlTextReaderValidateCData()
981 reader->ctxt->valid &= xmlValidatePushCData(&reader->ctxt->vctxt, in xmlTextReaderValidateCData()
986 if ((reader->validate == XML_TEXTREADER_VALIDATE_RNG) && in xmlTextReaderValidateCData()
987 (reader->rngValidCtxt != NULL)) { in xmlTextReaderValidateCData()
990 if (reader->rngFullNode != NULL) return; in xmlTextReaderValidateCData()
991 ret = xmlRelaxNGValidatePushCData(reader->rngValidCtxt, data, len); in xmlTextReaderValidateCData()
993 reader->rngValidErrors++; in xmlTextReaderValidateCData()
1005 xmlTextReaderValidatePop(xmlTextReaderPtr reader) { in xmlTextReaderValidatePop() argument
1006 xmlNodePtr node = reader->node; in xmlTextReaderValidatePop()
1009 if ((reader->validate == XML_TEXTREADER_VALIDATE_DTD) && in xmlTextReaderValidatePop()
1010 (reader->ctxt != NULL) && (reader->ctxt->validate == 1)) { in xmlTextReaderValidatePop()
1012 reader->ctxt->valid &= xmlValidatePopElement(&reader->ctxt->vctxt, in xmlTextReaderValidatePop()
1013 reader->ctxt->myDoc, node, node->name); in xmlTextReaderValidatePop()
1021 reader->ctxt->valid &= xmlValidatePopElement(&reader->ctxt->vctxt, in xmlTextReaderValidatePop()
1022 reader->ctxt->myDoc, node, qname); in xmlTextReaderValidatePop()
1029 if ((reader->validate == XML_TEXTREADER_VALIDATE_RNG) && in xmlTextReaderValidatePop()
1030 (reader->rngValidCtxt != NULL)) { in xmlTextReaderValidatePop()
1033 if (reader->rngFullNode != NULL) { in xmlTextReaderValidatePop()
1034 if (node == reader->rngFullNode) in xmlTextReaderValidatePop()
1035 reader->rngFullNode = NULL; in xmlTextReaderValidatePop()
1038 ret = xmlRelaxNGValidatePopElement(reader->rngValidCtxt, in xmlTextReaderValidatePop()
1039 reader->ctxt->myDoc, in xmlTextReaderValidatePop()
1042 reader->rngValidErrors++; in xmlTextReaderValidatePop()
1056 xmlTextReaderValidateEntity(xmlTextReaderPtr reader) { in xmlTextReaderValidateEntity() argument
1057 xmlNodePtr oldnode = reader->node; in xmlTextReaderValidateEntity()
1058 xmlNodePtr node = reader->node; in xmlTextReaderValidateEntity()
1059 xmlParserCtxtPtr ctxt = reader->ctxt; in xmlTextReaderValidateEntity()
1076 xmlTextReaderEntPush(reader, node); in xmlTextReaderValidateEntity()
1089 reader->node = node; in xmlTextReaderValidateEntity()
1090 xmlTextReaderValidatePush(reader); in xmlTextReaderValidateEntity()
1093 xmlTextReaderValidateCData(reader, node->content, in xmlTextReaderValidateEntity()
1105 xmlTextReaderValidatePop(reader); in xmlTextReaderValidateEntity()
1115 if (reader->entNr == 0) { in xmlTextReaderValidateEntity()
1119 xmlTextReaderFreeNode(reader, tmp); in xmlTextReaderValidateEntity()
1124 reader->node = node; in xmlTextReaderValidateEntity()
1125 xmlTextReaderValidatePop(reader); in xmlTextReaderValidateEntity()
1128 (reader->ent != NULL) && (reader->ent->children == node)) { in xmlTextReaderValidateEntity()
1129 node = xmlTextReaderEntPop(reader); in xmlTextReaderValidateEntity()
1139 reader->node = oldnode; in xmlTextReaderValidateEntity()
1176 xmlTextReaderDoExpand(xmlTextReaderPtr reader) { in xmlTextReaderDoExpand() argument
1179 if ((reader == NULL) || (reader->node == NULL) || (reader->ctxt == NULL)) in xmlTextReaderDoExpand()
1182 if (reader->ctxt->instate == XML_PARSER_EOF) return(1); in xmlTextReaderDoExpand()
1184 if (xmlTextReaderGetSuccessor(reader->node) != NULL) in xmlTextReaderDoExpand()
1186 if (reader->ctxt->nodeNr < reader->depth) in xmlTextReaderDoExpand()
1188 if (reader->mode == XML_TEXTREADER_MODE_EOF) in xmlTextReaderDoExpand()
1190 val = xmlTextReaderPushData(reader); in xmlTextReaderDoExpand()
1192 reader->mode = XML_TEXTREADER_MODE_ERROR; in xmlTextReaderDoExpand()
1195 } while(reader->mode != XML_TEXTREADER_MODE_EOF); in xmlTextReaderDoExpand()
1254 xmlTextReaderRead(xmlTextReaderPtr reader) { in xmlTextReaderRead() argument
1260 if (reader == NULL) in xmlTextReaderRead()
1262 reader->curnode = NULL; in xmlTextReaderRead()
1263 if (reader->doc != NULL) in xmlTextReaderRead()
1264 return(xmlTextReaderReadTree(reader)); in xmlTextReaderRead()
1265 if (reader->ctxt == NULL) in xmlTextReaderRead()
1267 if (reader->ctxt->wellFormed != 1) in xmlTextReaderRead()
1274 if (reader->mode == XML_TEXTREADER_MODE_INITIAL) { in xmlTextReaderRead()
1275 reader->mode = XML_TEXTREADER_MODE_INTERACTIVE; in xmlTextReaderRead()
1280 val = xmlTextReaderPushData(reader); in xmlTextReaderRead()
1282 reader->mode = XML_TEXTREADER_MODE_ERROR; in xmlTextReaderRead()
1283 reader->state = XML_TEXTREADER_ERROR; in xmlTextReaderRead()
1286 } while ((reader->ctxt->node == NULL) && in xmlTextReaderRead()
1287 ((reader->mode != XML_TEXTREADER_MODE_EOF) && in xmlTextReaderRead()
1288 (reader->state != XML_TEXTREADER_DONE))); in xmlTextReaderRead()
1289 if (reader->ctxt->node == NULL) { in xmlTextReaderRead()
1290 if (reader->ctxt->myDoc != NULL) { in xmlTextReaderRead()
1291 reader->node = reader->ctxt->myDoc->children; in xmlTextReaderRead()
1293 if (reader->node == NULL){ in xmlTextReaderRead()
1294 reader->mode = XML_TEXTREADER_MODE_ERROR; in xmlTextReaderRead()
1295 reader->state = XML_TEXTREADER_ERROR; in xmlTextReaderRead()
1298 reader->state = XML_TEXTREADER_ELEMENT; in xmlTextReaderRead()
1300 if (reader->ctxt->myDoc != NULL) { in xmlTextReaderRead()
1301 reader->node = reader->ctxt->myDoc->children; in xmlTextReaderRead()
1303 if (reader->node == NULL) in xmlTextReaderRead()
1304 reader->node = reader->ctxt->nodeTab[0]; in xmlTextReaderRead()
1305 reader->state = XML_TEXTREADER_ELEMENT; in xmlTextReaderRead()
1307 reader->depth = 0; in xmlTextReaderRead()
1308 reader->ctxt->parseMode = XML_PARSE_READER; in xmlTextReaderRead()
1311 oldstate = reader->state; in xmlTextReaderRead()
1312 olddepth = reader->ctxt->nodeNr; in xmlTextReaderRead()
1313 oldnode = reader->node; in xmlTextReaderRead()
1316 if (reader->node == NULL) { in xmlTextReaderRead()
1317 if (reader->mode == XML_TEXTREADER_MODE_EOF) in xmlTextReaderRead()
1328 while ((reader->node != NULL) && (reader->node->next == NULL) && in xmlTextReaderRead()
1329 (reader->ctxt->nodeNr == olddepth) && in xmlTextReaderRead()
1331 (reader->node->children == NULL) || in xmlTextReaderRead()
1332 (reader->node->type == XML_ENTITY_REF_NODE) || in xmlTextReaderRead()
1333 ((reader->node->children != NULL) && in xmlTextReaderRead()
1334 (reader->node->children->type == XML_TEXT_NODE) && in xmlTextReaderRead()
1335 (reader->node->children->next == NULL)) || in xmlTextReaderRead()
1336 (reader->node->type == XML_DTD_NODE) || in xmlTextReaderRead()
1337 (reader->node->type == XML_DOCUMENT_NODE) || in xmlTextReaderRead()
1338 (reader->node->type == XML_HTML_DOCUMENT_NODE)) && in xmlTextReaderRead()
1339 ((reader->ctxt->node == NULL) || in xmlTextReaderRead()
1340 (reader->ctxt->node == reader->node) || in xmlTextReaderRead()
1341 (reader->ctxt->node == reader->node->parent)) && in xmlTextReaderRead()
1342 (reader->ctxt->instate != XML_PARSER_EOF)) { in xmlTextReaderRead()
1343 val = xmlTextReaderPushData(reader); in xmlTextReaderRead()
1345 reader->mode = XML_TEXTREADER_MODE_ERROR; in xmlTextReaderRead()
1346 reader->state = XML_TEXTREADER_ERROR; in xmlTextReaderRead()
1349 if (reader->node == NULL) in xmlTextReaderRead()
1353 if ((reader->node->children != NULL) && in xmlTextReaderRead()
1354 (reader->node->type != XML_ENTITY_REF_NODE) && in xmlTextReaderRead()
1355 (reader->node->type != XML_XINCLUDE_START) && in xmlTextReaderRead()
1356 (reader->node->type != XML_DTD_NODE)) { in xmlTextReaderRead()
1357 reader->node = reader->node->children; in xmlTextReaderRead()
1358 reader->depth++; in xmlTextReaderRead()
1359 reader->state = XML_TEXTREADER_ELEMENT; in xmlTextReaderRead()
1363 if (reader->node->next != NULL) { in xmlTextReaderRead()
1365 (reader->node->type == XML_ELEMENT_NODE) && in xmlTextReaderRead()
1366 (reader->node->children == NULL) && in xmlTextReaderRead()
1367 ((reader->node->extra & NODE_IS_EMPTY) == 0) in xmlTextReaderRead()
1369 && (reader->in_xinclude <= 0) in xmlTextReaderRead()
1372 reader->state = XML_TEXTREADER_END; in xmlTextReaderRead()
1376 if ((reader->validate) && in xmlTextReaderRead()
1377 (reader->node->type == XML_ELEMENT_NODE)) in xmlTextReaderRead()
1378 xmlTextReaderValidatePop(reader); in xmlTextReaderRead()
1380 if ((reader->preserves > 0) && in xmlTextReaderRead()
1381 (reader->node->extra & NODE_IS_SPRESERVED)) in xmlTextReaderRead()
1382 reader->preserves--; in xmlTextReaderRead()
1383 reader->node = reader->node->next; in xmlTextReaderRead()
1384 reader->state = XML_TEXTREADER_ELEMENT; in xmlTextReaderRead()
1389 if ((reader->preserves == 0) && in xmlTextReaderRead()
1391 (reader->in_xinclude == 0) && in xmlTextReaderRead()
1393 (reader->entNr == 0) && in xmlTextReaderRead()
1394 (reader->node->prev != NULL) && in xmlTextReaderRead()
1395 (reader->node->prev->type != XML_DTD_NODE) && in xmlTextReaderRead()
1396 (reader->entNr == 0)) { in xmlTextReaderRead()
1397 xmlNodePtr tmp = reader->node->prev; in xmlTextReaderRead()
1400 xmlTextReaderFreeNode(reader, tmp); in xmlTextReaderRead()
1407 (reader->node->type == XML_ELEMENT_NODE) && in xmlTextReaderRead()
1408 (reader->node->children == NULL) && in xmlTextReaderRead()
1409 ((reader->node->extra & NODE_IS_EMPTY) == 0)) {; in xmlTextReaderRead()
1410 reader->state = XML_TEXTREADER_END; in xmlTextReaderRead()
1414 if ((reader->validate) && (reader->node->type == XML_ELEMENT_NODE)) in xmlTextReaderRead()
1415 xmlTextReaderValidatePop(reader); in xmlTextReaderRead()
1417 if ((reader->preserves > 0) && in xmlTextReaderRead()
1418 (reader->node->extra & NODE_IS_SPRESERVED)) in xmlTextReaderRead()
1419 reader->preserves--; in xmlTextReaderRead()
1420 reader->node = reader->node->parent; in xmlTextReaderRead()
1421 if ((reader->node == NULL) || in xmlTextReaderRead()
1422 (reader->node->type == XML_DOCUMENT_NODE) || in xmlTextReaderRead()
1424 (reader->node->type == XML_DOCB_DOCUMENT_NODE) || in xmlTextReaderRead()
1426 (reader->node->type == XML_HTML_DOCUMENT_NODE)) { in xmlTextReaderRead()
1427 if (reader->mode != XML_TEXTREADER_MODE_EOF) { in xmlTextReaderRead()
1428 val = xmlParseChunk(reader->ctxt, "", 0, 1); in xmlTextReaderRead()
1429 reader->state = XML_TEXTREADER_DONE; in xmlTextReaderRead()
1433 reader->node = NULL; in xmlTextReaderRead()
1434 reader->depth = -1; in xmlTextReaderRead()
1439 if ((reader->preserves == 0) && in xmlTextReaderRead()
1441 (reader->in_xinclude == 0) && in xmlTextReaderRead()
1443 (reader->entNr == 0) && in xmlTextReaderRead()
1446 (reader->entNr == 0)) { in xmlTextReaderRead()
1448 xmlTextReaderFreeNode(reader, oldnode); in xmlTextReaderRead()
1453 if ((reader->preserves == 0) && in xmlTextReaderRead()
1455 (reader->in_xinclude == 0) && in xmlTextReaderRead()
1457 (reader->entNr == 0) && in xmlTextReaderRead()
1458 (reader->node->last != NULL) && in xmlTextReaderRead()
1459 ((reader->node->last->extra & NODE_IS_PRESERVED) == 0)) { in xmlTextReaderRead()
1460 xmlNodePtr tmp = reader->node->last; in xmlTextReaderRead()
1462 xmlTextReaderFreeNode(reader, tmp); in xmlTextReaderRead()
1464 reader->depth--; in xmlTextReaderRead()
1465 reader->state = XML_TEXTREADER_BACKTRACK; in xmlTextReaderRead()
1473 if ((reader->node != NULL) && in xmlTextReaderRead()
1474 (reader->node->next == NULL) && in xmlTextReaderRead()
1475 ((reader->node->type == XML_TEXT_NODE) || in xmlTextReaderRead()
1476 (reader->node->type == XML_CDATA_SECTION_NODE))) { in xmlTextReaderRead()
1477 if (xmlTextReaderExpand(reader) == NULL) in xmlTextReaderRead()
1485 if ((reader->xinclude) && (reader->node != NULL) && in xmlTextReaderRead()
1486 (reader->node->type == XML_ELEMENT_NODE) && in xmlTextReaderRead()
1487 (reader->node->ns != NULL) && in xmlTextReaderRead()
1488 ((xmlStrEqual(reader->node->ns->href, XINCLUDE_NS)) || in xmlTextReaderRead()
1489 (xmlStrEqual(reader->node->ns->href, XINCLUDE_OLD_NS)))) { in xmlTextReaderRead()
1490 if (reader->xincctxt == NULL) { in xmlTextReaderRead()
1491 reader->xincctxt = xmlXIncludeNewContext(reader->ctxt->myDoc); in xmlTextReaderRead()
1492 xmlXIncludeSetFlags(reader->xincctxt, in xmlTextReaderRead()
1493 reader->parserFlags & (~XML_PARSE_NOXINCNODE)); in xmlTextReaderRead()
1498 if (xmlTextReaderExpand(reader) == NULL) in xmlTextReaderRead()
1500 xmlXIncludeProcessNode(reader->xincctxt, reader->node); in xmlTextReaderRead()
1502 if ((reader->node != NULL) && (reader->node->type == XML_XINCLUDE_START)) { in xmlTextReaderRead()
1503 reader->in_xinclude++; in xmlTextReaderRead()
1506 if ((reader->node != NULL) && (reader->node->type == XML_XINCLUDE_END)) { in xmlTextReaderRead()
1507 reader->in_xinclude--; in xmlTextReaderRead()
1514 if ((reader->node != NULL) && in xmlTextReaderRead()
1515 (reader->node->type == XML_ENTITY_REF_NODE) && in xmlTextReaderRead()
1516 (reader->ctxt != NULL) && (reader->ctxt->replaceEntities == 1)) { in xmlTextReaderRead()
1521 if ((reader->node->children == NULL) && (reader->ctxt->sax != NULL) && in xmlTextReaderRead()
1522 (reader->ctxt->sax->getEntity != NULL)) { in xmlTextReaderRead()
1523 reader->node->children = (xmlNodePtr) in xmlTextReaderRead()
1524 reader->ctxt->sax->getEntity(reader->ctxt, reader->node->name); in xmlTextReaderRead()
1527 if ((reader->node->children != NULL) && in xmlTextReaderRead()
1528 (reader->node->children->type == XML_ENTITY_DECL) && in xmlTextReaderRead()
1529 (reader->node->children->children != NULL)) { in xmlTextReaderRead()
1530 xmlTextReaderEntPush(reader, reader->node); in xmlTextReaderRead()
1531 reader->node = reader->node->children->children; in xmlTextReaderRead()
1534 } else if ((reader->node != NULL) && in xmlTextReaderRead()
1535 (reader->node->type == XML_ENTITY_REF_NODE) && in xmlTextReaderRead()
1536 (reader->ctxt != NULL) && (reader->validate)) { in xmlTextReaderRead()
1537 xmlTextReaderValidateEntity(reader); in xmlTextReaderRead()
1540 if ((reader->node != NULL) && in xmlTextReaderRead()
1541 (reader->node->type == XML_ENTITY_DECL) && in xmlTextReaderRead()
1542 (reader->ent != NULL) && (reader->ent->children == reader->node)) { in xmlTextReaderRead()
1543 reader->node = xmlTextReaderEntPop(reader); in xmlTextReaderRead()
1544 reader->depth++; in xmlTextReaderRead()
1548 if ((reader->validate) && (reader->node != NULL)) { in xmlTextReaderRead()
1549 xmlNodePtr node = reader->node; in xmlTextReaderRead()
1552 ((reader->state != XML_TEXTREADER_END) && in xmlTextReaderRead()
1553 (reader->state != XML_TEXTREADER_BACKTRACK))) { in xmlTextReaderRead()
1554 xmlTextReaderValidatePush(reader); in xmlTextReaderRead()
1557 xmlTextReaderValidateCData(reader, node->content, in xmlTextReaderRead()
1563 if ((reader->patternNr > 0) && (reader->state != XML_TEXTREADER_END) && in xmlTextReaderRead()
1564 (reader->state != XML_TEXTREADER_BACKTRACK)) { in xmlTextReaderRead()
1566 for (i = 0;i < reader->patternNr;i++) { in xmlTextReaderRead()
1567 if (xmlPatternMatch(reader->patternTab[i], reader->node) == 1) { in xmlTextReaderRead()
1568 xmlTextReaderPreserve(reader); in xmlTextReaderRead()
1575 if ((reader->validate == XML_TEXTREADER_VALIDATE_XSD) && in xmlTextReaderRead()
1576 (reader->xsdValidErrors == 0) && in xmlTextReaderRead()
1577 (reader->xsdValidCtxt != NULL)) { in xmlTextReaderRead()
1578 reader->xsdValidErrors = !xmlSchemaIsValid(reader->xsdValidCtxt); in xmlTextReaderRead()
1583 reader->state = XML_TEXTREADER_DONE; in xmlTextReaderRead()
1596 xmlTextReaderReadState(xmlTextReaderPtr reader) { in xmlTextReaderReadState() argument
1597 if (reader == NULL) in xmlTextReaderReadState()
1599 return(reader->mode); in xmlTextReaderReadState()
1613 xmlTextReaderExpand(xmlTextReaderPtr reader) { in xmlTextReaderExpand() argument
1614 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderExpand()
1616 if (reader->doc != NULL) in xmlTextReaderExpand()
1617 return(reader->node); in xmlTextReaderExpand()
1618 if (reader->ctxt == NULL) in xmlTextReaderExpand()
1620 if (xmlTextReaderDoExpand(reader) < 0) in xmlTextReaderExpand()
1622 return(reader->node); in xmlTextReaderExpand()
1636 xmlTextReaderNext(xmlTextReaderPtr reader) { in xmlTextReaderNext() argument
1640 if (reader == NULL) in xmlTextReaderNext()
1642 if (reader->doc != NULL) in xmlTextReaderNext()
1643 return(xmlTextReaderNextTree(reader)); in xmlTextReaderNext()
1644 cur = reader->node; in xmlTextReaderNext()
1646 return(xmlTextReaderRead(reader)); in xmlTextReaderNext()
1647 if (reader->state == XML_TEXTREADER_END || reader->state == XML_TEXTREADER_BACKTRACK) in xmlTextReaderNext()
1648 return(xmlTextReaderRead(reader)); in xmlTextReaderNext()
1650 return(xmlTextReaderRead(reader)); in xmlTextReaderNext()
1652 ret = xmlTextReaderRead(reader); in xmlTextReaderNext()
1655 } while (reader->node != cur); in xmlTextReaderNext()
1656 return(xmlTextReaderRead(reader)); in xmlTextReaderNext()
1671 xmlTextReaderReadInnerXml(xmlTextReaderPtr reader ATTRIBUTE_UNUSED) in xmlTextReaderReadInnerXml()
1678 if (xmlTextReaderExpand(reader) == NULL) { in xmlTextReaderReadInnerXml()
1681 doc = reader->doc; in xmlTextReaderReadInnerXml()
1683 for (cur_node = reader->node->children; cur_node != NULL; in xmlTextReaderReadInnerXml()
1717 xmlTextReaderReadOuterXml(xmlTextReaderPtr reader ATTRIBUTE_UNUSED) in xmlTextReaderReadOuterXml()
1724 node = reader->node; in xmlTextReaderReadOuterXml()
1725 doc = reader->doc; in xmlTextReaderReadOuterXml()
1726 if (xmlTextReaderExpand(reader) == NULL) { in xmlTextReaderReadOuterXml()
1757 xmlTextReaderReadString(xmlTextReaderPtr reader) in xmlTextReaderReadString() argument
1761 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderReadString()
1764 node = (reader->curnode != NULL) ? reader->curnode : reader->node; in xmlTextReaderReadString()
1771 if (xmlTextReaderDoExpand(reader) != -1) { in xmlTextReaderReadString()
1799 xmlTextReaderReadBase64(xmlTextReaderPtr reader,
1803 if ((reader == NULL) || (reader->ctxt == NULL))
1805 if (reader->ctxt->wellFormed != 1)
1808 if ((reader->node == NULL) || (reader->node->type == XML_ELEMENT_NODE))
1829 xmlTextReaderReadBinHex(xmlTextReaderPtr reader,
1833 if ((reader == NULL) || (reader->ctxt == NULL))
1835 if (reader->ctxt->wellFormed != 1)
1838 if ((reader->node == NULL) || (reader->node->type == XML_ELEMENT_NODE))
1851 xmlTextReaderNextTree(xmlTextReaderPtr reader) in xmlTextReaderNextTree() argument
1853 if (reader == NULL) in xmlTextReaderNextTree()
1856 if (reader->state == XML_TEXTREADER_END) in xmlTextReaderNextTree()
1859 if (reader->node == NULL) { in xmlTextReaderNextTree()
1860 if (reader->doc->children == NULL) { in xmlTextReaderNextTree()
1861 reader->state = XML_TEXTREADER_END; in xmlTextReaderNextTree()
1865 reader->node = reader->doc->children; in xmlTextReaderNextTree()
1866 reader->state = XML_TEXTREADER_START; in xmlTextReaderNextTree()
1870 if (reader->state != XML_TEXTREADER_BACKTRACK) { in xmlTextReaderNextTree()
1873 if (reader->node->next != 0) { in xmlTextReaderNextTree()
1875 reader->node = reader->node->next; in xmlTextReaderNextTree()
1876 reader->state = XML_TEXTREADER_START; in xmlTextReaderNextTree()
1882 if ((reader->node->type == XML_ELEMENT_NODE) || in xmlTextReaderNextTree()
1883 (reader->node->type == XML_ATTRIBUTE_NODE)) { in xmlTextReaderNextTree()
1884 reader->state = XML_TEXTREADER_BACKTRACK; in xmlTextReaderNextTree()
1886 xmlTextReaderRead(reader); in xmlTextReaderNextTree()
1890 if (reader->node->next != 0) { in xmlTextReaderNextTree()
1891 reader->node = reader->node->next; in xmlTextReaderNextTree()
1892 reader->state = XML_TEXTREADER_START; in xmlTextReaderNextTree()
1896 if (reader->node->parent != 0) { in xmlTextReaderNextTree()
1897 if (reader->node->parent->type == XML_DOCUMENT_NODE) { in xmlTextReaderNextTree()
1898 reader->state = XML_TEXTREADER_END; in xmlTextReaderNextTree()
1902 reader->node = reader->node->parent; in xmlTextReaderNextTree()
1903 reader->depth--; in xmlTextReaderNextTree()
1904 reader->state = XML_TEXTREADER_BACKTRACK; in xmlTextReaderNextTree()
1906 xmlTextReaderNextTree(reader); in xmlTextReaderNextTree()
1909 reader->state = XML_TEXTREADER_END; in xmlTextReaderNextTree()
1925 xmlTextReaderReadTree(xmlTextReaderPtr reader) { in xmlTextReaderReadTree() argument
1926 if (reader->state == XML_TEXTREADER_END) in xmlTextReaderReadTree()
1930 if (reader->node == NULL) { in xmlTextReaderReadTree()
1931 if (reader->doc->children == NULL) { in xmlTextReaderReadTree()
1932 reader->state = XML_TEXTREADER_END; in xmlTextReaderReadTree()
1936 reader->node = reader->doc->children; in xmlTextReaderReadTree()
1937 reader->state = XML_TEXTREADER_START; in xmlTextReaderReadTree()
1941 if ((reader->state != XML_TEXTREADER_BACKTRACK) && in xmlTextReaderReadTree()
1942 (reader->node->type != XML_DTD_NODE) && in xmlTextReaderReadTree()
1943 (reader->node->type != XML_XINCLUDE_START) && in xmlTextReaderReadTree()
1944 (reader->node->type != XML_ENTITY_REF_NODE)) { in xmlTextReaderReadTree()
1945 if (reader->node->children != NULL) { in xmlTextReaderReadTree()
1946 reader->node = reader->node->children; in xmlTextReaderReadTree()
1947 reader->depth++; in xmlTextReaderReadTree()
1948 reader->state = XML_TEXTREADER_START; in xmlTextReaderReadTree()
1952 if (reader->node->type == XML_ATTRIBUTE_NODE) { in xmlTextReaderReadTree()
1953 reader->state = XML_TEXTREADER_BACKTRACK; in xmlTextReaderReadTree()
1958 if (reader->node->next != NULL) { in xmlTextReaderReadTree()
1959 reader->node = reader->node->next; in xmlTextReaderReadTree()
1960 reader->state = XML_TEXTREADER_START; in xmlTextReaderReadTree()
1964 if (reader->node->parent != NULL) { in xmlTextReaderReadTree()
1965 if ((reader->node->parent->type == XML_DOCUMENT_NODE) || in xmlTextReaderReadTree()
1966 (reader->node->parent->type == XML_HTML_DOCUMENT_NODE)) { in xmlTextReaderReadTree()
1967 reader->state = XML_TEXTREADER_END; in xmlTextReaderReadTree()
1971 reader->node = reader->node->parent; in xmlTextReaderReadTree()
1972 reader->depth--; in xmlTextReaderReadTree()
1973 reader->state = XML_TEXTREADER_BACKTRACK; in xmlTextReaderReadTree()
1977 reader->state = XML_TEXTREADER_END; in xmlTextReaderReadTree()
1980 if ((reader->node->type == XML_XINCLUDE_START) || in xmlTextReaderReadTree()
1981 (reader->node->type == XML_XINCLUDE_END)) in xmlTextReaderReadTree()
1999 xmlTextReaderNextSibling(xmlTextReaderPtr reader) { in xmlTextReaderNextSibling() argument
2000 if (reader == NULL) in xmlTextReaderNextSibling()
2002 if (reader->doc == NULL) { in xmlTextReaderNextSibling()
2007 if (reader->state == XML_TEXTREADER_END) in xmlTextReaderNextSibling()
2010 if (reader->node == NULL) in xmlTextReaderNextSibling()
2011 return(xmlTextReaderNextTree(reader)); in xmlTextReaderNextSibling()
2013 if (reader->node->next != NULL) { in xmlTextReaderNextSibling()
2014 reader->node = reader->node->next; in xmlTextReaderNextSibling()
2015 reader->state = XML_TEXTREADER_START; in xmlTextReaderNextSibling()
2177 xmlFreeTextReader(xmlTextReaderPtr reader) { in xmlFreeTextReader() argument
2178 if (reader == NULL) in xmlFreeTextReader()
2181 if (reader->rngSchemas != NULL) { in xmlFreeTextReader()
2182 xmlRelaxNGFree(reader->rngSchemas); in xmlFreeTextReader()
2183 reader->rngSchemas = NULL; in xmlFreeTextReader()
2185 if (reader->rngValidCtxt != NULL) { in xmlFreeTextReader()
2186 xmlRelaxNGFreeValidCtxt(reader->rngValidCtxt); in xmlFreeTextReader()
2187 reader->rngValidCtxt = NULL; in xmlFreeTextReader()
2189 if (reader->xsdPlug != NULL) { in xmlFreeTextReader()
2190 xmlSchemaSAXUnplug(reader->xsdPlug); in xmlFreeTextReader()
2191 reader->xsdPlug = NULL; in xmlFreeTextReader()
2193 if (reader->xsdValidCtxt != NULL) { in xmlFreeTextReader()
2194 if (! reader->xsdPreserveCtxt) in xmlFreeTextReader()
2195 xmlSchemaFreeValidCtxt(reader->xsdValidCtxt); in xmlFreeTextReader()
2196 reader->xsdValidCtxt = NULL; in xmlFreeTextReader()
2198 if (reader->xsdSchemas != NULL) { in xmlFreeTextReader()
2199 xmlSchemaFree(reader->xsdSchemas); in xmlFreeTextReader()
2200 reader->xsdSchemas = NULL; in xmlFreeTextReader()
2204 if (reader->xincctxt != NULL) in xmlFreeTextReader()
2205 xmlXIncludeFreeContext(reader->xincctxt); in xmlFreeTextReader()
2208 if (reader->patternTab != NULL) { in xmlFreeTextReader()
2210 for (i = 0;i < reader->patternNr;i++) { in xmlFreeTextReader()
2211 if (reader->patternTab[i] != NULL) in xmlFreeTextReader()
2212 xmlFreePattern(reader->patternTab[i]); in xmlFreeTextReader()
2214 xmlFree(reader->patternTab); in xmlFreeTextReader()
2217 if (reader->ctxt != NULL) { in xmlFreeTextReader()
2218 if (reader->dict == reader->ctxt->dict) in xmlFreeTextReader()
2219 reader->dict = NULL; in xmlFreeTextReader()
2220 if (reader->ctxt->myDoc != NULL) { in xmlFreeTextReader()
2221 if (reader->preserve == 0) in xmlFreeTextReader()
2222 xmlTextReaderFreeDoc(reader, reader->ctxt->myDoc); in xmlFreeTextReader()
2223 reader->ctxt->myDoc = NULL; in xmlFreeTextReader()
2225 if ((reader->ctxt->vctxt.vstateTab != NULL) && in xmlFreeTextReader()
2226 (reader->ctxt->vctxt.vstateMax > 0)){ in xmlFreeTextReader()
2227 xmlFree(reader->ctxt->vctxt.vstateTab); in xmlFreeTextReader()
2228 reader->ctxt->vctxt.vstateTab = NULL; in xmlFreeTextReader()
2229 reader->ctxt->vctxt.vstateMax = 0; in xmlFreeTextReader()
2231 if (reader->allocs & XML_TEXTREADER_CTXT) in xmlFreeTextReader()
2232 xmlFreeParserCtxt(reader->ctxt); in xmlFreeTextReader()
2234 if (reader->sax != NULL) in xmlFreeTextReader()
2235 xmlFree(reader->sax); in xmlFreeTextReader()
2236 if ((reader->input != NULL) && (reader->allocs & XML_TEXTREADER_INPUT)) in xmlFreeTextReader()
2237 xmlFreeParserInputBuffer(reader->input); in xmlFreeTextReader()
2238 if (reader->faketext != NULL) { in xmlFreeTextReader()
2239 xmlFreeNode(reader->faketext); in xmlFreeTextReader()
2241 if (reader->buffer != NULL) in xmlFreeTextReader()
2242 xmlBufferFree(reader->buffer); in xmlFreeTextReader()
2243 if (reader->entTab != NULL) in xmlFreeTextReader()
2244 xmlFree(reader->entTab); in xmlFreeTextReader()
2245 if (reader->dict != NULL) in xmlFreeTextReader()
2246 xmlDictFree(reader->dict); in xmlFreeTextReader()
2247 xmlFree(reader); in xmlFreeTextReader()
2265 xmlTextReaderClose(xmlTextReaderPtr reader) { in xmlTextReaderClose() argument
2266 if (reader == NULL) in xmlTextReaderClose()
2268 reader->node = NULL; in xmlTextReaderClose()
2269 reader->curnode = NULL; in xmlTextReaderClose()
2270 reader->mode = XML_TEXTREADER_MODE_CLOSED; in xmlTextReaderClose()
2271 if (reader->ctxt != NULL) { in xmlTextReaderClose()
2272 xmlStopParser(reader->ctxt); in xmlTextReaderClose()
2273 if (reader->ctxt->myDoc != NULL) { in xmlTextReaderClose()
2274 if (reader->preserve == 0) in xmlTextReaderClose()
2275 xmlTextReaderFreeDoc(reader, reader->ctxt->myDoc); in xmlTextReaderClose()
2276 reader->ctxt->myDoc = NULL; in xmlTextReaderClose()
2279 if ((reader->input != NULL) && (reader->allocs & XML_TEXTREADER_INPUT)) { in xmlTextReaderClose()
2280 xmlFreeParserInputBuffer(reader->input); in xmlTextReaderClose()
2281 reader->allocs -= XML_TEXTREADER_INPUT; in xmlTextReaderClose()
2298 xmlTextReaderGetAttributeNo(xmlTextReaderPtr reader, int no) { in xmlTextReaderGetAttributeNo() argument
2304 if (reader == NULL) in xmlTextReaderGetAttributeNo()
2306 if (reader->node == NULL) in xmlTextReaderGetAttributeNo()
2308 if (reader->curnode != NULL) in xmlTextReaderGetAttributeNo()
2311 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderGetAttributeNo()
2314 ns = reader->node->nsDef; in xmlTextReaderGetAttributeNo()
2321 cur = reader->node->properties; in xmlTextReaderGetAttributeNo()
2331 ret = xmlNodeListGetString(reader->node->doc, cur->children, 1); in xmlTextReaderGetAttributeNo()
2347 xmlTextReaderGetAttribute(xmlTextReaderPtr reader, const xmlChar *name) { in xmlTextReaderGetAttribute() argument
2353 if ((reader == NULL) || (name == NULL)) in xmlTextReaderGetAttribute()
2355 if (reader->node == NULL) in xmlTextReaderGetAttribute()
2357 if (reader->curnode != NULL) in xmlTextReaderGetAttribute()
2361 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderGetAttribute()
2370 ns = reader->node->nsDef; in xmlTextReaderGetAttribute()
2379 return(xmlGetNoNsProp(reader->node, name)); in xmlTextReaderGetAttribute()
2386 ns = reader->node->nsDef; in xmlTextReaderGetAttribute()
2395 ns = xmlSearchNs(reader->node->doc, reader->node, prefix); in xmlTextReaderGetAttribute()
2397 ret = xmlGetNsProp(reader->node, localname, ns->href); in xmlTextReaderGetAttribute()
2419 xmlTextReaderGetAttributeNs(xmlTextReaderPtr reader, const xmlChar *localName, in xmlTextReaderGetAttributeNs() argument
2424 if ((reader == NULL) || (localName == NULL)) in xmlTextReaderGetAttributeNs()
2426 if (reader->node == NULL) in xmlTextReaderGetAttributeNs()
2428 if (reader->curnode != NULL) in xmlTextReaderGetAttributeNs()
2432 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderGetAttributeNs()
2439 ns = reader->node->nsDef; in xmlTextReaderGetAttributeNs()
2450 return(xmlGetNsProp(reader->node, localName, namespaceURI)); in xmlTextReaderGetAttributeNs()
2469 xmlTextReaderGetRemainder(xmlTextReaderPtr reader) { in xmlTextReaderGetRemainder() argument
2472 if (reader == NULL) in xmlTextReaderGetRemainder()
2474 if (reader->node == NULL) in xmlTextReaderGetRemainder()
2477 reader->node = NULL; in xmlTextReaderGetRemainder()
2478 reader->curnode = NULL; in xmlTextReaderGetRemainder()
2479 reader->mode = XML_TEXTREADER_MODE_EOF; in xmlTextReaderGetRemainder()
2480 if (reader->ctxt != NULL) { in xmlTextReaderGetRemainder()
2481 xmlStopParser(reader->ctxt); in xmlTextReaderGetRemainder()
2482 if (reader->ctxt->myDoc != NULL) { in xmlTextReaderGetRemainder()
2483 if (reader->preserve == 0) in xmlTextReaderGetRemainder()
2484 xmlTextReaderFreeDoc(reader, reader->ctxt->myDoc); in xmlTextReaderGetRemainder()
2485 reader->ctxt->myDoc = NULL; in xmlTextReaderGetRemainder()
2488 if (reader->allocs & XML_TEXTREADER_INPUT) { in xmlTextReaderGetRemainder()
2489 ret = reader->input; in xmlTextReaderGetRemainder()
2490 reader->input = NULL; in xmlTextReaderGetRemainder()
2491 reader->allocs -= XML_TEXTREADER_INPUT; in xmlTextReaderGetRemainder()
2517 xmlTextReaderLookupNamespace(xmlTextReaderPtr reader, const xmlChar *prefix) { in xmlTextReaderLookupNamespace() argument
2520 if (reader == NULL) in xmlTextReaderLookupNamespace()
2522 if (reader->node == NULL) in xmlTextReaderLookupNamespace()
2525 ns = xmlSearchNs(reader->node->doc, reader->node, prefix); in xmlTextReaderLookupNamespace()
2543 xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader, int no) { in xmlTextReaderMoveToAttributeNo() argument
2548 if (reader == NULL) in xmlTextReaderMoveToAttributeNo()
2550 if (reader->node == NULL) in xmlTextReaderMoveToAttributeNo()
2553 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderMoveToAttributeNo()
2556 reader->curnode = NULL; in xmlTextReaderMoveToAttributeNo()
2558 ns = reader->node->nsDef; in xmlTextReaderMoveToAttributeNo()
2563 reader->curnode = (xmlNodePtr) ns; in xmlTextReaderMoveToAttributeNo()
2567 cur = reader->node->properties; in xmlTextReaderMoveToAttributeNo()
2577 reader->curnode = (xmlNodePtr) cur; in xmlTextReaderMoveToAttributeNo()
2592 xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader, const xmlChar *name) { in xmlTextReaderMoveToAttribute() argument
2598 if ((reader == NULL) || (name == NULL)) in xmlTextReaderMoveToAttribute()
2600 if (reader->node == NULL) in xmlTextReaderMoveToAttribute()
2604 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderMoveToAttribute()
2613 ns = reader->node->nsDef; in xmlTextReaderMoveToAttribute()
2616 reader->curnode = (xmlNodePtr) ns; in xmlTextReaderMoveToAttribute()
2624 prop = reader->node->properties; in xmlTextReaderMoveToAttribute()
2633 reader->curnode = (xmlNodePtr) prop; in xmlTextReaderMoveToAttribute()
2645 ns = reader->node->nsDef; in xmlTextReaderMoveToAttribute()
2648 reader->curnode = (xmlNodePtr) ns; in xmlTextReaderMoveToAttribute()
2655 prop = reader->node->properties; in xmlTextReaderMoveToAttribute()
2664 reader->curnode = (xmlNodePtr) prop; in xmlTextReaderMoveToAttribute()
2696 xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader, in xmlTextReaderMoveToAttributeNs() argument
2703 if ((reader == NULL) || (localName == NULL) || (namespaceURI == NULL)) in xmlTextReaderMoveToAttributeNs()
2705 if (reader->node == NULL) in xmlTextReaderMoveToAttributeNs()
2707 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderMoveToAttributeNs()
2709 node = reader->node; in xmlTextReaderMoveToAttributeNs()
2715 ns = reader->node->nsDef; in xmlTextReaderMoveToAttributeNs()
2719 reader->curnode = (xmlNodePtr) ns; in xmlTextReaderMoveToAttributeNs()
2737 reader->curnode = (xmlNodePtr) prop; in xmlTextReaderMoveToAttributeNs()
2755 xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader) { in xmlTextReaderMoveToFirstAttribute() argument
2756 if (reader == NULL) in xmlTextReaderMoveToFirstAttribute()
2758 if (reader->node == NULL) in xmlTextReaderMoveToFirstAttribute()
2760 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderMoveToFirstAttribute()
2763 if (reader->node->nsDef != NULL) { in xmlTextReaderMoveToFirstAttribute()
2764 reader->curnode = (xmlNodePtr) reader->node->nsDef; in xmlTextReaderMoveToFirstAttribute()
2767 if (reader->node->properties != NULL) { in xmlTextReaderMoveToFirstAttribute()
2768 reader->curnode = (xmlNodePtr) reader->node->properties; in xmlTextReaderMoveToFirstAttribute()
2784 xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader) { in xmlTextReaderMoveToNextAttribute() argument
2785 if (reader == NULL) in xmlTextReaderMoveToNextAttribute()
2787 if (reader->node == NULL) in xmlTextReaderMoveToNextAttribute()
2789 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderMoveToNextAttribute()
2791 if (reader->curnode == NULL) in xmlTextReaderMoveToNextAttribute()
2792 return(xmlTextReaderMoveToFirstAttribute(reader)); in xmlTextReaderMoveToNextAttribute()
2794 if (reader->curnode->type == XML_NAMESPACE_DECL) { in xmlTextReaderMoveToNextAttribute()
2795 xmlNsPtr ns = (xmlNsPtr) reader->curnode; in xmlTextReaderMoveToNextAttribute()
2797 reader->curnode = (xmlNodePtr) ns->next; in xmlTextReaderMoveToNextAttribute()
2800 if (reader->node->properties != NULL) { in xmlTextReaderMoveToNextAttribute()
2801 reader->curnode = (xmlNodePtr) reader->node->properties; in xmlTextReaderMoveToNextAttribute()
2805 } else if ((reader->curnode->type == XML_ATTRIBUTE_NODE) && in xmlTextReaderMoveToNextAttribute()
2806 (reader->curnode->next != NULL)) { in xmlTextReaderMoveToNextAttribute()
2807 reader->curnode = reader->curnode->next; in xmlTextReaderMoveToNextAttribute()
2823 xmlTextReaderMoveToElement(xmlTextReaderPtr reader) { in xmlTextReaderMoveToElement() argument
2824 if (reader == NULL) in xmlTextReaderMoveToElement()
2826 if (reader->node == NULL) in xmlTextReaderMoveToElement()
2828 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderMoveToElement()
2830 if (reader->curnode != NULL) { in xmlTextReaderMoveToElement()
2831 reader->curnode = NULL; in xmlTextReaderMoveToElement()
2848 xmlTextReaderReadAttributeValue(xmlTextReaderPtr reader) { in xmlTextReaderReadAttributeValue() argument
2849 if (reader == NULL) in xmlTextReaderReadAttributeValue()
2851 if (reader->node == NULL) in xmlTextReaderReadAttributeValue()
2853 if (reader->curnode == NULL) in xmlTextReaderReadAttributeValue()
2855 if (reader->curnode->type == XML_ATTRIBUTE_NODE) { in xmlTextReaderReadAttributeValue()
2856 if (reader->curnode->children == NULL) in xmlTextReaderReadAttributeValue()
2858 reader->curnode = reader->curnode->children; in xmlTextReaderReadAttributeValue()
2859 } else if (reader->curnode->type == XML_NAMESPACE_DECL) { in xmlTextReaderReadAttributeValue()
2860 xmlNsPtr ns = (xmlNsPtr) reader->curnode; in xmlTextReaderReadAttributeValue()
2862 if (reader->faketext == NULL) { in xmlTextReaderReadAttributeValue()
2863 reader->faketext = xmlNewDocText(reader->node->doc, in xmlTextReaderReadAttributeValue()
2866 if ((reader->faketext->content != NULL) && in xmlTextReaderReadAttributeValue()
2867 (reader->faketext->content != in xmlTextReaderReadAttributeValue()
2868 (xmlChar *) &(reader->faketext->properties))) in xmlTextReaderReadAttributeValue()
2869 xmlFree(reader->faketext->content); in xmlTextReaderReadAttributeValue()
2870 reader->faketext->content = xmlStrdup(ns->href); in xmlTextReaderReadAttributeValue()
2872 reader->curnode = reader->faketext; in xmlTextReaderReadAttributeValue()
2874 if (reader->curnode->next == NULL) in xmlTextReaderReadAttributeValue()
2876 reader->curnode = reader->curnode->next; in xmlTextReaderReadAttributeValue()
2891 xmlTextReaderConstEncoding(xmlTextReaderPtr reader) { in xmlTextReaderConstEncoding() argument
2893 if (reader == NULL) in xmlTextReaderConstEncoding()
2895 if (reader->doc != NULL) in xmlTextReaderConstEncoding()
2896 doc = reader->doc; in xmlTextReaderConstEncoding()
2897 else if (reader->ctxt != NULL) in xmlTextReaderConstEncoding()
2898 doc = reader->ctxt->myDoc; in xmlTextReaderConstEncoding()
2923 xmlTextReaderAttributeCount(xmlTextReaderPtr reader) { in xmlTextReaderAttributeCount() argument
2929 if (reader == NULL) in xmlTextReaderAttributeCount()
2931 if (reader->node == NULL) in xmlTextReaderAttributeCount()
2934 if (reader->curnode != NULL) in xmlTextReaderAttributeCount()
2935 node = reader->curnode; in xmlTextReaderAttributeCount()
2937 node = reader->node; in xmlTextReaderAttributeCount()
2941 if ((reader->state == XML_TEXTREADER_END) || in xmlTextReaderAttributeCount()
2942 (reader->state == XML_TEXTREADER_BACKTRACK)) in xmlTextReaderAttributeCount()
2969 xmlTextReaderNodeType(xmlTextReaderPtr reader) { in xmlTextReaderNodeType() argument
2972 if (reader == NULL) in xmlTextReaderNodeType()
2974 if (reader->node == NULL) in xmlTextReaderNodeType()
2976 if (reader->curnode != NULL) in xmlTextReaderNodeType()
2977 node = reader->curnode; in xmlTextReaderNodeType()
2979 node = reader->node; in xmlTextReaderNodeType()
2982 if ((reader->state == XML_TEXTREADER_END) || in xmlTextReaderNodeType()
2983 (reader->state == XML_TEXTREADER_BACKTRACK)) in xmlTextReaderNodeType()
2990 if (xmlIsBlankNode(reader->node)) { in xmlTextReaderNodeType()
2991 if (xmlNodeGetSpacePreserve(reader->node)) in xmlTextReaderNodeType()
3041 xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader) { in xmlTextReaderIsEmptyElement() argument
3042 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderIsEmptyElement()
3044 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderIsEmptyElement()
3046 if (reader->curnode != NULL) in xmlTextReaderIsEmptyElement()
3048 if (reader->node->children != NULL) in xmlTextReaderIsEmptyElement()
3050 if (reader->state == XML_TEXTREADER_END) in xmlTextReaderIsEmptyElement()
3052 if (reader->doc != NULL) in xmlTextReaderIsEmptyElement()
3055 if (reader->in_xinclude > 0) in xmlTextReaderIsEmptyElement()
3058 return((reader->node->extra & NODE_IS_EMPTY) != 0); in xmlTextReaderIsEmptyElement()
3070 xmlTextReaderLocalName(xmlTextReaderPtr reader) { in xmlTextReaderLocalName() argument
3072 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderLocalName()
3074 if (reader->curnode != NULL) in xmlTextReaderLocalName()
3075 node = reader->curnode; in xmlTextReaderLocalName()
3077 node = reader->node; in xmlTextReaderLocalName()
3087 return(xmlTextReaderName(reader)); in xmlTextReaderLocalName()
3101 xmlTextReaderConstLocalName(xmlTextReaderPtr reader) { in xmlTextReaderConstLocalName() argument
3103 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderConstLocalName()
3105 if (reader->curnode != NULL) in xmlTextReaderConstLocalName()
3106 node = reader->curnode; in xmlTextReaderConstLocalName()
3108 node = reader->node; in xmlTextReaderConstLocalName()
3118 return(xmlTextReaderConstName(reader)); in xmlTextReaderConstLocalName()
3131 xmlTextReaderName(xmlTextReaderPtr reader) { in xmlTextReaderName() argument
3135 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderName()
3137 if (reader->curnode != NULL) in xmlTextReaderName()
3138 node = reader->curnode; in xmlTextReaderName()
3140 node = reader->node; in xmlTextReaderName()
3207 xmlTextReaderConstName(xmlTextReaderPtr reader) { in xmlTextReaderConstName() argument
3210 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderConstName()
3212 if (reader->curnode != NULL) in xmlTextReaderConstName()
3213 node = reader->curnode; in xmlTextReaderConstName()
3215 node = reader->node; in xmlTextReaderConstName()
3274 xmlTextReaderPrefix(xmlTextReaderPtr reader) { in xmlTextReaderPrefix() argument
3276 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderPrefix()
3278 if (reader->curnode != NULL) in xmlTextReaderPrefix()
3279 node = reader->curnode; in xmlTextReaderPrefix()
3281 node = reader->node; in xmlTextReaderPrefix()
3306 xmlTextReaderConstPrefix(xmlTextReaderPtr reader) { in xmlTextReaderConstPrefix() argument
3308 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderConstPrefix()
3310 if (reader->curnode != NULL) in xmlTextReaderConstPrefix()
3311 node = reader->curnode; in xmlTextReaderConstPrefix()
3313 node = reader->node; in xmlTextReaderConstPrefix()
3337 xmlTextReaderNamespaceUri(xmlTextReaderPtr reader) { in xmlTextReaderNamespaceUri() argument
3339 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderNamespaceUri()
3341 if (reader->curnode != NULL) in xmlTextReaderNamespaceUri()
3342 node = reader->curnode; in xmlTextReaderNamespaceUri()
3344 node = reader->node; in xmlTextReaderNamespaceUri()
3365 xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader) { in xmlTextReaderConstNamespaceUri() argument
3367 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderConstNamespaceUri()
3369 if (reader->curnode != NULL) in xmlTextReaderConstNamespaceUri()
3370 node = reader->curnode; in xmlTextReaderConstNamespaceUri()
3372 node = reader->node; in xmlTextReaderConstNamespaceUri()
3392 xmlTextReaderBaseUri(xmlTextReaderPtr reader) { in xmlTextReaderBaseUri() argument
3393 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderBaseUri()
3395 return(xmlNodeGetBase(NULL, reader->node)); in xmlTextReaderBaseUri()
3408 xmlTextReaderConstBaseUri(xmlTextReaderPtr reader) { in xmlTextReaderConstBaseUri() argument
3412 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderConstBaseUri()
3414 tmp = xmlNodeGetBase(NULL, reader->node); in xmlTextReaderConstBaseUri()
3431 xmlTextReaderDepth(xmlTextReaderPtr reader) { in xmlTextReaderDepth() argument
3432 if (reader == NULL) in xmlTextReaderDepth()
3434 if (reader->node == NULL) in xmlTextReaderDepth()
3437 if (reader->curnode != NULL) { in xmlTextReaderDepth()
3438 if ((reader->curnode->type == XML_ATTRIBUTE_NODE) || in xmlTextReaderDepth()
3439 (reader->curnode->type == XML_NAMESPACE_DECL)) in xmlTextReaderDepth()
3440 return(reader->depth + 1); in xmlTextReaderDepth()
3441 return(reader->depth + 2); in xmlTextReaderDepth()
3443 return(reader->depth); in xmlTextReaderDepth()
3455 xmlTextReaderHasAttributes(xmlTextReaderPtr reader) { in xmlTextReaderHasAttributes() argument
3457 if (reader == NULL) in xmlTextReaderHasAttributes()
3459 if (reader->node == NULL) in xmlTextReaderHasAttributes()
3461 if (reader->curnode != NULL) in xmlTextReaderHasAttributes()
3462 node = reader->curnode; in xmlTextReaderHasAttributes()
3464 node = reader->node; in xmlTextReaderHasAttributes()
3482 xmlTextReaderHasValue(xmlTextReaderPtr reader) { in xmlTextReaderHasValue() argument
3484 if (reader == NULL) in xmlTextReaderHasValue()
3486 if (reader->node == NULL) in xmlTextReaderHasValue()
3488 if (reader->curnode != NULL) in xmlTextReaderHasValue()
3489 node = reader->curnode; in xmlTextReaderHasValue()
3491 node = reader->node; in xmlTextReaderHasValue()
3517 xmlTextReaderValue(xmlTextReaderPtr reader) { in xmlTextReaderValue() argument
3519 if (reader == NULL) in xmlTextReaderValue()
3521 if (reader->node == NULL) in xmlTextReaderValue()
3523 if (reader->curnode != NULL) in xmlTextReaderValue()
3524 node = reader->curnode; in xmlTextReaderValue()
3526 node = reader->node; in xmlTextReaderValue()
3563 xmlTextReaderConstValue(xmlTextReaderPtr reader) { in xmlTextReaderConstValue() argument
3565 if (reader == NULL) in xmlTextReaderConstValue()
3567 if (reader->node == NULL) in xmlTextReaderConstValue()
3569 if (reader->curnode != NULL) in xmlTextReaderConstValue()
3570 node = reader->curnode; in xmlTextReaderConstValue()
3572 node = reader->node; in xmlTextReaderConstValue()
3585 if (reader->buffer == NULL) in xmlTextReaderConstValue()
3586 reader->buffer = xmlBufferCreateSize(100); in xmlTextReaderConstValue()
3587 if (reader->buffer == NULL) { in xmlTextReaderConstValue()
3592 reader->buffer->use = 0; in xmlTextReaderConstValue()
3593 xmlNodeBufGetContent(reader->buffer, node); in xmlTextReaderConstValue()
3594 return(reader->buffer->content); in xmlTextReaderConstValue()
3619 xmlTextReaderIsDefault(xmlTextReaderPtr reader) { in xmlTextReaderIsDefault() argument
3620 if (reader == NULL) in xmlTextReaderIsDefault()
3634 xmlTextReaderQuoteChar(xmlTextReaderPtr reader) { in xmlTextReaderQuoteChar() argument
3635 if (reader == NULL) in xmlTextReaderQuoteChar()
3650 xmlTextReaderXmlLang(xmlTextReaderPtr reader) { in xmlTextReaderXmlLang() argument
3651 if (reader == NULL) in xmlTextReaderXmlLang()
3653 if (reader->node == NULL) in xmlTextReaderXmlLang()
3655 return(xmlNodeGetLang(reader->node)); in xmlTextReaderXmlLang()
3667 xmlTextReaderConstXmlLang(xmlTextReaderPtr reader) { in xmlTextReaderConstXmlLang() argument
3671 if (reader == NULL) in xmlTextReaderConstXmlLang()
3673 if (reader->node == NULL) in xmlTextReaderConstXmlLang()
3675 tmp = xmlNodeGetLang(reader->node); in xmlTextReaderConstXmlLang()
3695 xmlTextReaderConstString(xmlTextReaderPtr reader, const xmlChar *str) { in xmlTextReaderConstString() argument
3696 if (reader == NULL) in xmlTextReaderConstString()
3714 xmlTextReaderNormalization(xmlTextReaderPtr reader) { in xmlTextReaderNormalization() argument
3715 if (reader == NULL) in xmlTextReaderNormalization()
3739 xmlTextReaderSetParserProp(xmlTextReaderPtr reader, int prop, int value) { in xmlTextReaderSetParserProp() argument
3743 if ((reader == NULL) || (reader->ctxt == NULL)) in xmlTextReaderSetParserProp()
3745 ctxt = reader->ctxt; in xmlTextReaderSetParserProp()
3751 if (reader->mode != XML_TEXTREADER_MODE_INITIAL) in xmlTextReaderSetParserProp()
3770 reader->validate = XML_TEXTREADER_VALIDATE_DTD; in xmlTextReaderSetParserProp()
3796 xmlTextReaderGetParserProp(xmlTextReaderPtr reader, int prop) { in xmlTextReaderGetParserProp() argument
3800 if ((reader == NULL) || (reader->ctxt == NULL)) in xmlTextReaderGetParserProp()
3802 ctxt = reader->ctxt; in xmlTextReaderGetParserProp()
3814 return(reader->validate); in xmlTextReaderGetParserProp()
3831 xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader) in xmlTextReaderGetParserLineNumber() argument
3833 if ((reader == NULL) || (reader->ctxt == NULL) || in xmlTextReaderGetParserLineNumber()
3834 (reader->ctxt->input == NULL)) { in xmlTextReaderGetParserLineNumber()
3837 return (reader->ctxt->input->line); in xmlTextReaderGetParserLineNumber()
3849 xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader) in xmlTextReaderGetParserColumnNumber() argument
3851 if ((reader == NULL) || (reader->ctxt == NULL) || in xmlTextReaderGetParserColumnNumber()
3852 (reader->ctxt->input == NULL)) { in xmlTextReaderGetParserColumnNumber()
3855 return (reader->ctxt->input->col); in xmlTextReaderGetParserColumnNumber()
3869 xmlTextReaderCurrentNode(xmlTextReaderPtr reader) { in xmlTextReaderCurrentNode() argument
3870 if (reader == NULL) in xmlTextReaderCurrentNode()
3873 if (reader->curnode != NULL) in xmlTextReaderCurrentNode()
3874 return(reader->curnode); in xmlTextReaderCurrentNode()
3875 return(reader->node); in xmlTextReaderCurrentNode()
3889 xmlTextReaderPreserve(xmlTextReaderPtr reader) { in xmlTextReaderPreserve() argument
3892 if (reader == NULL) in xmlTextReaderPreserve()
3895 if (reader->curnode != NULL) in xmlTextReaderPreserve()
3896 cur = reader->curnode; in xmlTextReaderPreserve()
3898 cur = reader->node; in xmlTextReaderPreserve()
3906 reader->preserves++; in xmlTextReaderPreserve()
3931 xmlTextReaderPreservePattern(xmlTextReaderPtr reader, const xmlChar *pattern, in xmlTextReaderPreservePattern() argument
3936 if ((reader == NULL) || (pattern == NULL)) in xmlTextReaderPreservePattern()
3939 comp = xmlPatterncompile(pattern, reader->dict, 0, namespaces); in xmlTextReaderPreservePattern()
3943 if (reader->patternMax <= 0) { in xmlTextReaderPreservePattern()
3944 reader->patternMax = 4; in xmlTextReaderPreservePattern()
3945 reader->patternTab = (xmlPatternPtr *) xmlMalloc(reader->patternMax * in xmlTextReaderPreservePattern()
3946 sizeof(reader->patternTab[0])); in xmlTextReaderPreservePattern()
3947 if (reader->patternTab == NULL) { in xmlTextReaderPreservePattern()
3952 if (reader->patternNr >= reader->patternMax) { in xmlTextReaderPreservePattern()
3954 reader->patternMax *= 2; in xmlTextReaderPreservePattern()
3955 tmp = (xmlPatternPtr *) xmlRealloc(reader->patternTab, in xmlTextReaderPreservePattern()
3956 reader->patternMax * in xmlTextReaderPreservePattern()
3957 sizeof(reader->patternTab[0])); in xmlTextReaderPreservePattern()
3960 reader->patternMax /= 2; in xmlTextReaderPreservePattern()
3963 reader->patternTab = tmp; in xmlTextReaderPreservePattern()
3965 reader->patternTab[reader->patternNr] = comp; in xmlTextReaderPreservePattern()
3966 return(reader->patternNr++); in xmlTextReaderPreservePattern()
3983 xmlTextReaderCurrentDoc(xmlTextReaderPtr reader) { in xmlTextReaderCurrentDoc() argument
3984 if (reader == NULL) in xmlTextReaderCurrentDoc()
3986 if (reader->doc != NULL) in xmlTextReaderCurrentDoc()
3987 return(reader->doc); in xmlTextReaderCurrentDoc()
3988 if ((reader->ctxt == NULL) || (reader->ctxt->myDoc == NULL)) in xmlTextReaderCurrentDoc()
3991 reader->preserve = 1; in xmlTextReaderCurrentDoc()
3992 return(reader->ctxt->myDoc); in xmlTextReaderCurrentDoc()
4008 xmlTextReaderPtr reader = (xmlTextReaderPtr) ctx; in xmlTextReaderValidityErrorRelay() local
4014 if (!reader->errorFunc) { in xmlTextReaderValidityErrorRelay()
4017reader->errorFunc(reader->errorFuncArg, str, XML_PARSER_SEVERITY_VALIDITY_ERROR, NULL /* locator *… in xmlTextReaderValidityErrorRelay()
4026 xmlTextReaderPtr reader = (xmlTextReaderPtr) ctx; in xmlTextReaderValidityWarningRelay() local
4032 if (!reader->errorFunc) { in xmlTextReaderValidityWarningRelay()
4035reader->errorFunc(reader->errorFuncArg, str, XML_PARSER_SEVERITY_VALIDITY_WARNING, NULL /* locator… in xmlTextReaderValidityWarningRelay()
4047 xmlTextReaderPtr reader = (xmlTextReaderPtr) userData; in xmlTextReaderValidityStructuredRelay() local
4049 if (reader->sErrorFunc) { in xmlTextReaderValidityStructuredRelay()
4050 reader->sErrorFunc(reader->errorFuncArg, error); in xmlTextReaderValidityStructuredRelay()
4052 xmlTextReaderStructuredError(reader, error); in xmlTextReaderValidityStructuredRelay()
4071 xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader, xmlRelaxNGPtr schema) { in xmlTextReaderRelaxNGSetSchema() argument
4072 if (reader == NULL) in xmlTextReaderRelaxNGSetSchema()
4075 if (reader->rngSchemas != NULL) { in xmlTextReaderRelaxNGSetSchema()
4076 xmlRelaxNGFree(reader->rngSchemas); in xmlTextReaderRelaxNGSetSchema()
4077 reader->rngSchemas = NULL; in xmlTextReaderRelaxNGSetSchema()
4079 if (reader->rngValidCtxt != NULL) { in xmlTextReaderRelaxNGSetSchema()
4080 xmlRelaxNGFreeValidCtxt(reader->rngValidCtxt); in xmlTextReaderRelaxNGSetSchema()
4081 reader->rngValidCtxt = NULL; in xmlTextReaderRelaxNGSetSchema()
4085 if (reader->mode != XML_TEXTREADER_MODE_INITIAL) in xmlTextReaderRelaxNGSetSchema()
4087 if (reader->rngSchemas != NULL) { in xmlTextReaderRelaxNGSetSchema()
4088 xmlRelaxNGFree(reader->rngSchemas); in xmlTextReaderRelaxNGSetSchema()
4089 reader->rngSchemas = NULL; in xmlTextReaderRelaxNGSetSchema()
4091 if (reader->rngValidCtxt != NULL) { in xmlTextReaderRelaxNGSetSchema()
4092 xmlRelaxNGFreeValidCtxt(reader->rngValidCtxt); in xmlTextReaderRelaxNGSetSchema()
4093 reader->rngValidCtxt = NULL; in xmlTextReaderRelaxNGSetSchema()
4095 reader->rngValidCtxt = xmlRelaxNGNewValidCtxt(schema); in xmlTextReaderRelaxNGSetSchema()
4096 if (reader->rngValidCtxt == NULL) in xmlTextReaderRelaxNGSetSchema()
4098 if (reader->errorFunc != NULL) { in xmlTextReaderRelaxNGSetSchema()
4099 xmlRelaxNGSetValidErrors(reader->rngValidCtxt, in xmlTextReaderRelaxNGSetSchema()
4102 reader); in xmlTextReaderRelaxNGSetSchema()
4104 if (reader->sErrorFunc != NULL) { in xmlTextReaderRelaxNGSetSchema()
4105 xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, in xmlTextReaderRelaxNGSetSchema()
4107 reader); in xmlTextReaderRelaxNGSetSchema()
4109 reader->rngValidErrors = 0; in xmlTextReaderRelaxNGSetSchema()
4110 reader->rngFullNode = NULL; in xmlTextReaderRelaxNGSetSchema()
4111 reader->validate = XML_TEXTREADER_VALIDATE_RNG; in xmlTextReaderRelaxNGSetSchema()
4130 xmlTextReaderSetSchema(xmlTextReaderPtr reader, xmlSchemaPtr schema) { in xmlTextReaderSetSchema() argument
4131 if (reader == NULL) in xmlTextReaderSetSchema()
4134 if (reader->xsdPlug != NULL) { in xmlTextReaderSetSchema()
4135 xmlSchemaSAXUnplug(reader->xsdPlug); in xmlTextReaderSetSchema()
4136 reader->xsdPlug = NULL; in xmlTextReaderSetSchema()
4138 if (reader->xsdValidCtxt != NULL) { in xmlTextReaderSetSchema()
4139 if (! reader->xsdPreserveCtxt) in xmlTextReaderSetSchema()
4140 xmlSchemaFreeValidCtxt(reader->xsdValidCtxt); in xmlTextReaderSetSchema()
4141 reader->xsdValidCtxt = NULL; in xmlTextReaderSetSchema()
4143 reader->xsdPreserveCtxt = 0; in xmlTextReaderSetSchema()
4144 if (reader->xsdSchemas != NULL) { in xmlTextReaderSetSchema()
4145 xmlSchemaFree(reader->xsdSchemas); in xmlTextReaderSetSchema()
4146 reader->xsdSchemas = NULL; in xmlTextReaderSetSchema()
4150 if (reader->mode != XML_TEXTREADER_MODE_INITIAL) in xmlTextReaderSetSchema()
4152 if (reader->xsdPlug != NULL) { in xmlTextReaderSetSchema()
4153 xmlSchemaSAXUnplug(reader->xsdPlug); in xmlTextReaderSetSchema()
4154 reader->xsdPlug = NULL; in xmlTextReaderSetSchema()
4156 if (reader->xsdValidCtxt != NULL) { in xmlTextReaderSetSchema()
4157 if (! reader->xsdPreserveCtxt) in xmlTextReaderSetSchema()
4158 xmlSchemaFreeValidCtxt(reader->xsdValidCtxt); in xmlTextReaderSetSchema()
4159 reader->xsdValidCtxt = NULL; in xmlTextReaderSetSchema()
4161 reader->xsdPreserveCtxt = 0; in xmlTextReaderSetSchema()
4162 if (reader->xsdSchemas != NULL) { in xmlTextReaderSetSchema()
4163 xmlSchemaFree(reader->xsdSchemas); in xmlTextReaderSetSchema()
4164 reader->xsdSchemas = NULL; in xmlTextReaderSetSchema()
4166 reader->xsdValidCtxt = xmlSchemaNewValidCtxt(schema); in xmlTextReaderSetSchema()
4167 if (reader->xsdValidCtxt == NULL) { in xmlTextReaderSetSchema()
4168 xmlSchemaFree(reader->xsdSchemas); in xmlTextReaderSetSchema()
4169 reader->xsdSchemas = NULL; in xmlTextReaderSetSchema()
4172 reader->xsdPlug = xmlSchemaSAXPlug(reader->xsdValidCtxt, in xmlTextReaderSetSchema()
4173 &(reader->ctxt->sax), in xmlTextReaderSetSchema()
4174 &(reader->ctxt->userData)); in xmlTextReaderSetSchema()
4175 if (reader->xsdPlug == NULL) { in xmlTextReaderSetSchema()
4176 xmlSchemaFree(reader->xsdSchemas); in xmlTextReaderSetSchema()
4177 reader->xsdSchemas = NULL; in xmlTextReaderSetSchema()
4178 xmlSchemaFreeValidCtxt(reader->xsdValidCtxt); in xmlTextReaderSetSchema()
4179 reader->xsdValidCtxt = NULL; in xmlTextReaderSetSchema()
4182 if (reader->errorFunc != NULL) { in xmlTextReaderSetSchema()
4183 xmlSchemaSetValidErrors(reader->xsdValidCtxt, in xmlTextReaderSetSchema()
4186 reader); in xmlTextReaderSetSchema()
4188 if (reader->sErrorFunc != NULL) { in xmlTextReaderSetSchema()
4189 xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt, in xmlTextReaderSetSchema()
4191 reader); in xmlTextReaderSetSchema()
4193 reader->xsdValidErrors = 0; in xmlTextReaderSetSchema()
4194 reader->validate = XML_TEXTREADER_VALIDATE_XSD; in xmlTextReaderSetSchema()
4211 xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader, const char *rng) { in xmlTextReaderRelaxNGValidate() argument
4214 if (reader == NULL) in xmlTextReaderRelaxNGValidate()
4218 if (reader->rngValidCtxt != NULL) { in xmlTextReaderRelaxNGValidate()
4219 xmlRelaxNGFreeValidCtxt(reader->rngValidCtxt); in xmlTextReaderRelaxNGValidate()
4220 reader->rngValidCtxt = NULL; in xmlTextReaderRelaxNGValidate()
4222 if (reader->rngSchemas != NULL) { in xmlTextReaderRelaxNGValidate()
4223 xmlRelaxNGFree(reader->rngSchemas); in xmlTextReaderRelaxNGValidate()
4224 reader->rngSchemas = NULL; in xmlTextReaderRelaxNGValidate()
4228 if (reader->mode != XML_TEXTREADER_MODE_INITIAL) in xmlTextReaderRelaxNGValidate()
4230 if (reader->rngSchemas != NULL) { in xmlTextReaderRelaxNGValidate()
4231 xmlRelaxNGFree(reader->rngSchemas); in xmlTextReaderRelaxNGValidate()
4232 reader->rngSchemas = NULL; in xmlTextReaderRelaxNGValidate()
4234 if (reader->rngValidCtxt != NULL) { in xmlTextReaderRelaxNGValidate()
4235 xmlRelaxNGFreeValidCtxt(reader->rngValidCtxt); in xmlTextReaderRelaxNGValidate()
4236 reader->rngValidCtxt = NULL; in xmlTextReaderRelaxNGValidate()
4239 if (reader->errorFunc != NULL) { in xmlTextReaderRelaxNGValidate()
4243 reader); in xmlTextReaderRelaxNGValidate()
4245 if (reader->sErrorFunc != NULL) { in xmlTextReaderRelaxNGValidate()
4246 xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, in xmlTextReaderRelaxNGValidate()
4248 reader); in xmlTextReaderRelaxNGValidate()
4250 reader->rngSchemas = xmlRelaxNGParse(ctxt); in xmlTextReaderRelaxNGValidate()
4252 if (reader->rngSchemas == NULL) in xmlTextReaderRelaxNGValidate()
4254 reader->rngValidCtxt = xmlRelaxNGNewValidCtxt(reader->rngSchemas); in xmlTextReaderRelaxNGValidate()
4255 if (reader->rngValidCtxt == NULL) { in xmlTextReaderRelaxNGValidate()
4256 xmlRelaxNGFree(reader->rngSchemas); in xmlTextReaderRelaxNGValidate()
4257 reader->rngSchemas = NULL; in xmlTextReaderRelaxNGValidate()
4260 if (reader->errorFunc != NULL) { in xmlTextReaderRelaxNGValidate()
4261 xmlRelaxNGSetValidErrors(reader->rngValidCtxt, in xmlTextReaderRelaxNGValidate()
4264 reader); in xmlTextReaderRelaxNGValidate()
4266 if (reader->sErrorFunc != NULL) { in xmlTextReaderRelaxNGValidate()
4267 xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, in xmlTextReaderRelaxNGValidate()
4269 reader); in xmlTextReaderRelaxNGValidate()
4271 reader->rngValidErrors = 0; in xmlTextReaderRelaxNGValidate()
4272 reader->rngFullNode = NULL; in xmlTextReaderRelaxNGValidate()
4273 reader->validate = XML_TEXTREADER_VALIDATE_RNG; in xmlTextReaderRelaxNGValidate()
4292 xmlTextReaderSchemaValidateInternal(xmlTextReaderPtr reader, in xmlTextReaderSchemaValidateInternal() argument
4297 if (reader == NULL) in xmlTextReaderSchemaValidateInternal()
4304 ((reader->mode != XML_TEXTREADER_MODE_INITIAL) || in xmlTextReaderSchemaValidateInternal()
4305 (reader->ctxt == NULL))) in xmlTextReaderSchemaValidateInternal()
4309 if (reader->xsdPlug != NULL) { in xmlTextReaderSchemaValidateInternal()
4310 xmlSchemaSAXUnplug(reader->xsdPlug); in xmlTextReaderSchemaValidateInternal()
4311 reader->xsdPlug = NULL; in xmlTextReaderSchemaValidateInternal()
4313 if (reader->xsdValidCtxt != NULL) { in xmlTextReaderSchemaValidateInternal()
4314 if (! reader->xsdPreserveCtxt) in xmlTextReaderSchemaValidateInternal()
4315 xmlSchemaFreeValidCtxt(reader->xsdValidCtxt); in xmlTextReaderSchemaValidateInternal()
4316 reader->xsdValidCtxt = NULL; in xmlTextReaderSchemaValidateInternal()
4318 reader->xsdPreserveCtxt = 0; in xmlTextReaderSchemaValidateInternal()
4319 if (reader->xsdSchemas != NULL) { in xmlTextReaderSchemaValidateInternal()
4320 xmlSchemaFree(reader->xsdSchemas); in xmlTextReaderSchemaValidateInternal()
4321 reader->xsdSchemas = NULL; in xmlTextReaderSchemaValidateInternal()
4333 if (reader->errorFunc != NULL) { in xmlTextReaderSchemaValidateInternal()
4337 reader); in xmlTextReaderSchemaValidateInternal()
4339 reader->xsdSchemas = xmlSchemaParse(pctxt); in xmlTextReaderSchemaValidateInternal()
4341 if (reader->xsdSchemas == NULL) in xmlTextReaderSchemaValidateInternal()
4343 reader->xsdValidCtxt = xmlSchemaNewValidCtxt(reader->xsdSchemas); in xmlTextReaderSchemaValidateInternal()
4344 if (reader->xsdValidCtxt == NULL) { in xmlTextReaderSchemaValidateInternal()
4345 xmlSchemaFree(reader->xsdSchemas); in xmlTextReaderSchemaValidateInternal()
4346 reader->xsdSchemas = NULL; in xmlTextReaderSchemaValidateInternal()
4349 reader->xsdPlug = xmlSchemaSAXPlug(reader->xsdValidCtxt, in xmlTextReaderSchemaValidateInternal()
4350 &(reader->ctxt->sax), in xmlTextReaderSchemaValidateInternal()
4351 &(reader->ctxt->userData)); in xmlTextReaderSchemaValidateInternal()
4352 if (reader->xsdPlug == NULL) { in xmlTextReaderSchemaValidateInternal()
4353 xmlSchemaFree(reader->xsdSchemas); in xmlTextReaderSchemaValidateInternal()
4354 reader->xsdSchemas = NULL; in xmlTextReaderSchemaValidateInternal()
4355 xmlSchemaFreeValidCtxt(reader->xsdValidCtxt); in xmlTextReaderSchemaValidateInternal()
4356 reader->xsdValidCtxt = NULL; in xmlTextReaderSchemaValidateInternal()
4361 reader->xsdValidCtxt = ctxt; in xmlTextReaderSchemaValidateInternal()
4362 reader->xsdPreserveCtxt = 1; in xmlTextReaderSchemaValidateInternal()
4363 reader->xsdPlug = xmlSchemaSAXPlug(reader->xsdValidCtxt, in xmlTextReaderSchemaValidateInternal()
4364 &(reader->ctxt->sax), in xmlTextReaderSchemaValidateInternal()
4365 &(reader->ctxt->userData)); in xmlTextReaderSchemaValidateInternal()
4366 if (reader->xsdPlug == NULL) { in xmlTextReaderSchemaValidateInternal()
4367 reader->xsdValidCtxt = NULL; in xmlTextReaderSchemaValidateInternal()
4368 reader->xsdPreserveCtxt = 0; in xmlTextReaderSchemaValidateInternal()
4378 if (reader->errorFunc != NULL) { in xmlTextReaderSchemaValidateInternal()
4379 xmlSchemaSetValidErrors(reader->xsdValidCtxt, in xmlTextReaderSchemaValidateInternal()
4382 reader); in xmlTextReaderSchemaValidateInternal()
4384 if (reader->sErrorFunc != NULL) { in xmlTextReaderSchemaValidateInternal()
4385 xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt, in xmlTextReaderSchemaValidateInternal()
4387 reader); in xmlTextReaderSchemaValidateInternal()
4389 reader->xsdValidErrors = 0; in xmlTextReaderSchemaValidateInternal()
4390 reader->validate = XML_TEXTREADER_VALIDATE_XSD; in xmlTextReaderSchemaValidateInternal()
4408 xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader, in xmlTextReaderSchemaValidateCtxt() argument
4412 return(xmlTextReaderSchemaValidateInternal(reader, NULL, ctxt, options)); in xmlTextReaderSchemaValidateCtxt()
4428 xmlTextReaderSchemaValidate(xmlTextReaderPtr reader, const char *xsd) in xmlTextReaderSchemaValidate() argument
4430 return(xmlTextReaderSchemaValidateInternal(reader, xsd, NULL, 0)); in xmlTextReaderSchemaValidate()
4446 xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader) { in xmlTextReaderIsNamespaceDecl() argument
4448 if (reader == NULL) in xmlTextReaderIsNamespaceDecl()
4450 if (reader->node == NULL) in xmlTextReaderIsNamespaceDecl()
4452 if (reader->curnode != NULL) in xmlTextReaderIsNamespaceDecl()
4453 node = reader->curnode; in xmlTextReaderIsNamespaceDecl()
4455 node = reader->node; in xmlTextReaderIsNamespaceDecl()
4473 xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader) { in xmlTextReaderConstXmlVersion() argument
4475 if (reader == NULL) in xmlTextReaderConstXmlVersion()
4477 if (reader->doc != NULL) in xmlTextReaderConstXmlVersion()
4478 doc = reader->doc; in xmlTextReaderConstXmlVersion()
4479 else if (reader->ctxt != NULL) in xmlTextReaderConstXmlVersion()
4480 doc = reader->ctxt->myDoc; in xmlTextReaderConstXmlVersion()
4501 xmlTextReaderStandalone(xmlTextReaderPtr reader) { in xmlTextReaderStandalone() argument
4503 if (reader == NULL) in xmlTextReaderStandalone()
4505 if (reader->doc != NULL) in xmlTextReaderStandalone()
4506 doc = reader->doc; in xmlTextReaderStandalone()
4507 else if (reader->ctxt != NULL) in xmlTextReaderStandalone()
4508 doc = reader->ctxt->myDoc; in xmlTextReaderStandalone()
4633 xmlTextReaderPtr reader = (xmlTextReaderPtr)ctx->_private; in xmlTextReaderGenericError() local
4636 if (reader->errorFunc) in xmlTextReaderGenericError()
4637 reader->errorFunc(reader->errorFuncArg, in xmlTextReaderGenericError()
4648 xmlTextReaderPtr reader = (xmlTextReaderPtr) ctx->_private; in xmlTextReaderStructuredError() local
4650 if (error && reader->sErrorFunc) { in xmlTextReaderStructuredError()
4651 reader->sErrorFunc(reader->errorFuncArg, in xmlTextReaderStructuredError()
4726 xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader, in xmlTextReaderSetErrorHandler() argument
4730 reader->ctxt->sax->error = xmlTextReaderError; in xmlTextReaderSetErrorHandler()
4731 reader->ctxt->sax->serror = NULL; in xmlTextReaderSetErrorHandler()
4732 reader->ctxt->vctxt.error = xmlTextReaderValidityError; in xmlTextReaderSetErrorHandler()
4733 reader->ctxt->sax->warning = xmlTextReaderWarning; in xmlTextReaderSetErrorHandler()
4734 reader->ctxt->vctxt.warning = xmlTextReaderValidityWarning; in xmlTextReaderSetErrorHandler()
4735 reader->errorFunc = f; in xmlTextReaderSetErrorHandler()
4736 reader->sErrorFunc = NULL; in xmlTextReaderSetErrorHandler()
4737 reader->errorFuncArg = arg; in xmlTextReaderSetErrorHandler()
4739 if (reader->rngValidCtxt) { in xmlTextReaderSetErrorHandler()
4740 xmlRelaxNGSetValidErrors(reader->rngValidCtxt, in xmlTextReaderSetErrorHandler()
4743 reader); in xmlTextReaderSetErrorHandler()
4744 xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, NULL, reader); in xmlTextReaderSetErrorHandler()
4746 if (reader->xsdValidCtxt) { in xmlTextReaderSetErrorHandler()
4747 xmlSchemaSetValidErrors(reader->xsdValidCtxt, in xmlTextReaderSetErrorHandler()
4750 reader); in xmlTextReaderSetErrorHandler()
4751 xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt, NULL, reader); in xmlTextReaderSetErrorHandler()
4757 reader->ctxt->sax->error = xmlParserError; in xmlTextReaderSetErrorHandler()
4758 reader->ctxt->vctxt.error = xmlParserValidityError; in xmlTextReaderSetErrorHandler()
4759 reader->ctxt->sax->warning = xmlParserWarning; in xmlTextReaderSetErrorHandler()
4760 reader->ctxt->vctxt.warning = xmlParserValidityWarning; in xmlTextReaderSetErrorHandler()
4761 reader->errorFunc = NULL; in xmlTextReaderSetErrorHandler()
4762 reader->sErrorFunc = NULL; in xmlTextReaderSetErrorHandler()
4763 reader->errorFuncArg = NULL; in xmlTextReaderSetErrorHandler()
4765 if (reader->rngValidCtxt) { in xmlTextReaderSetErrorHandler()
4766 xmlRelaxNGSetValidErrors(reader->rngValidCtxt, NULL, NULL, reader); in xmlTextReaderSetErrorHandler()
4767 xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, NULL, reader); in xmlTextReaderSetErrorHandler()
4769 if (reader->xsdValidCtxt) { in xmlTextReaderSetErrorHandler()
4770 xmlSchemaSetValidErrors(reader->xsdValidCtxt, NULL, NULL, reader); in xmlTextReaderSetErrorHandler()
4771 xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt, NULL, reader); in xmlTextReaderSetErrorHandler()
4788 xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader, in xmlTextReaderSetStructuredErrorHandler() argument
4792 reader->ctxt->sax->error = NULL; in xmlTextReaderSetStructuredErrorHandler()
4793 reader->ctxt->sax->serror = xmlTextReaderStructuredError; in xmlTextReaderSetStructuredErrorHandler()
4794 reader->ctxt->vctxt.error = xmlTextReaderValidityError; in xmlTextReaderSetStructuredErrorHandler()
4795 reader->ctxt->sax->warning = xmlTextReaderWarning; in xmlTextReaderSetStructuredErrorHandler()
4796 reader->ctxt->vctxt.warning = xmlTextReaderValidityWarning; in xmlTextReaderSetStructuredErrorHandler()
4797 reader->sErrorFunc = f; in xmlTextReaderSetStructuredErrorHandler()
4798 reader->errorFunc = NULL; in xmlTextReaderSetStructuredErrorHandler()
4799 reader->errorFuncArg = arg; in xmlTextReaderSetStructuredErrorHandler()
4801 if (reader->rngValidCtxt) { in xmlTextReaderSetStructuredErrorHandler()
4802 xmlRelaxNGSetValidErrors(reader->rngValidCtxt, NULL, NULL, reader); in xmlTextReaderSetStructuredErrorHandler()
4803 xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, in xmlTextReaderSetStructuredErrorHandler()
4805 reader); in xmlTextReaderSetStructuredErrorHandler()
4807 if (reader->xsdValidCtxt) { in xmlTextReaderSetStructuredErrorHandler()
4808 xmlSchemaSetValidErrors(reader->xsdValidCtxt, NULL, NULL, reader); in xmlTextReaderSetStructuredErrorHandler()
4809 xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt, in xmlTextReaderSetStructuredErrorHandler()
4811 reader); in xmlTextReaderSetStructuredErrorHandler()
4817 reader->ctxt->sax->error = xmlParserError; in xmlTextReaderSetStructuredErrorHandler()
4818 reader->ctxt->sax->serror = NULL; in xmlTextReaderSetStructuredErrorHandler()
4819 reader->ctxt->vctxt.error = xmlParserValidityError; in xmlTextReaderSetStructuredErrorHandler()
4820 reader->ctxt->sax->warning = xmlParserWarning; in xmlTextReaderSetStructuredErrorHandler()
4821 reader->ctxt->vctxt.warning = xmlParserValidityWarning; in xmlTextReaderSetStructuredErrorHandler()
4822 reader->errorFunc = NULL; in xmlTextReaderSetStructuredErrorHandler()
4823 reader->sErrorFunc = NULL; in xmlTextReaderSetStructuredErrorHandler()
4824 reader->errorFuncArg = NULL; in xmlTextReaderSetStructuredErrorHandler()
4826 if (reader->rngValidCtxt) { in xmlTextReaderSetStructuredErrorHandler()
4827 xmlRelaxNGSetValidErrors(reader->rngValidCtxt, NULL, NULL, reader); in xmlTextReaderSetStructuredErrorHandler()
4828 xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, NULL, reader); in xmlTextReaderSetStructuredErrorHandler()
4830 if (reader->xsdValidCtxt) { in xmlTextReaderSetStructuredErrorHandler()
4831 xmlSchemaSetValidErrors(reader->xsdValidCtxt, NULL, NULL, reader); in xmlTextReaderSetStructuredErrorHandler()
4832 xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt, NULL, reader); in xmlTextReaderSetStructuredErrorHandler()
4847 xmlTextReaderIsValid(xmlTextReaderPtr reader) { in xmlTextReaderIsValid() argument
4848 if (reader == NULL) return(-1); in xmlTextReaderIsValid()
4850 if (reader->validate == XML_TEXTREADER_VALIDATE_RNG) in xmlTextReaderIsValid()
4851 return(reader->rngValidErrors == 0); in xmlTextReaderIsValid()
4852 if (reader->validate == XML_TEXTREADER_VALIDATE_XSD) in xmlTextReaderIsValid()
4853 return(reader->xsdValidErrors == 0); in xmlTextReaderIsValid()
4855 if ((reader->ctxt != NULL) && (reader->ctxt->validate == 1)) in xmlTextReaderIsValid()
4856 return(reader->ctxt->valid); in xmlTextReaderIsValid()
4869 xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader, in xmlTextReaderGetErrorHandler() argument
4872 if (f != NULL) *f = reader->errorFunc; in xmlTextReaderGetErrorHandler()
4873 if (arg != NULL) *arg = reader->errorFuncArg; in xmlTextReaderGetErrorHandler()
4897 xmlTextReaderSetup(xmlTextReaderPtr reader, in xmlTextReaderSetup() argument
4901 if (reader == NULL) { in xmlTextReaderSetup()
4913 reader->doc = NULL; in xmlTextReaderSetup()
4914 reader->entNr = 0; in xmlTextReaderSetup()
4915 reader->parserFlags = options; in xmlTextReaderSetup()
4916 reader->validate = XML_TEXTREADER_NOT_VALIDATE; in xmlTextReaderSetup()
4917 if ((input != NULL) && (reader->input != NULL) && in xmlTextReaderSetup()
4918 (reader->allocs & XML_TEXTREADER_INPUT)) { in xmlTextReaderSetup()
4919 xmlFreeParserInputBuffer(reader->input); in xmlTextReaderSetup()
4920 reader->input = NULL; in xmlTextReaderSetup()
4921 reader->allocs -= XML_TEXTREADER_INPUT; in xmlTextReaderSetup()
4924 reader->input = input; in xmlTextReaderSetup()
4925 reader->allocs |= XML_TEXTREADER_INPUT; in xmlTextReaderSetup()
4927 if (reader->buffer == NULL) in xmlTextReaderSetup()
4928 reader->buffer = xmlBufferCreateSize(100); in xmlTextReaderSetup()
4929 if (reader->buffer == NULL) { in xmlTextReaderSetup()
4934 if (reader->sax == NULL) in xmlTextReaderSetup()
4935 reader->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler)); in xmlTextReaderSetup()
4936 if (reader->sax == NULL) { in xmlTextReaderSetup()
4941 xmlSAXVersion(reader->sax, 2); in xmlTextReaderSetup()
4942 reader->startElement = reader->sax->startElement; in xmlTextReaderSetup()
4943 reader->sax->startElement = xmlTextReaderStartElement; in xmlTextReaderSetup()
4944 reader->endElement = reader->sax->endElement; in xmlTextReaderSetup()
4945 reader->sax->endElement = xmlTextReaderEndElement; in xmlTextReaderSetup()
4947 if (reader->sax->initialized == XML_SAX2_MAGIC) { in xmlTextReaderSetup()
4949 reader->startElementNs = reader->sax->startElementNs; in xmlTextReaderSetup()
4950 reader->sax->startElementNs = xmlTextReaderStartElementNs; in xmlTextReaderSetup()
4951 reader->endElementNs = reader->sax->endElementNs; in xmlTextReaderSetup()
4952 reader->sax->endElementNs = xmlTextReaderEndElementNs; in xmlTextReaderSetup()
4955 reader->startElementNs = NULL; in xmlTextReaderSetup()
4956 reader->endElementNs = NULL; in xmlTextReaderSetup()
4959 reader->characters = reader->sax->characters; in xmlTextReaderSetup()
4960 reader->sax->characters = xmlTextReaderCharacters; in xmlTextReaderSetup()
4961 reader->sax->ignorableWhitespace = xmlTextReaderCharacters; in xmlTextReaderSetup()
4962 reader->cdataBlock = reader->sax->cdataBlock; in xmlTextReaderSetup()
4963 reader->sax->cdataBlock = xmlTextReaderCDataBlock; in xmlTextReaderSetup()
4965 reader->mode = XML_TEXTREADER_MODE_INITIAL; in xmlTextReaderSetup()
4966 reader->node = NULL; in xmlTextReaderSetup()
4967 reader->curnode = NULL; in xmlTextReaderSetup()
4969 if (reader->input->buffer->use < 4) { in xmlTextReaderSetup()
4972 if (reader->ctxt == NULL) { in xmlTextReaderSetup()
4973 if (reader->input->buffer->use >= 4) { in xmlTextReaderSetup()
4974 reader->ctxt = xmlCreatePushParserCtxt(reader->sax, NULL, in xmlTextReaderSetup()
4975 (const char *) reader->input->buffer->content, 4, URL); in xmlTextReaderSetup()
4976 reader->base = 0; in xmlTextReaderSetup()
4977 reader->cur = 4; in xmlTextReaderSetup()
4979 reader->ctxt = in xmlTextReaderSetup()
4980 xmlCreatePushParserCtxt(reader->sax, NULL, NULL, 0, URL); in xmlTextReaderSetup()
4981 reader->base = 0; in xmlTextReaderSetup()
4982 reader->cur = 0; in xmlTextReaderSetup()
4989 xmlCtxtReset(reader->ctxt); in xmlTextReaderSetup()
4992 inputStream = xmlNewInputStream(reader->ctxt); in xmlTextReaderSetup()
5009 inputPush(reader->ctxt, inputStream); in xmlTextReaderSetup()
5010 reader->cur = 0; in xmlTextReaderSetup()
5012 if (reader->ctxt == NULL) { in xmlTextReaderSetup()
5018 if (reader->dict != NULL) { in xmlTextReaderSetup()
5019 if (reader->ctxt->dict != NULL) { in xmlTextReaderSetup()
5020 if (reader->dict != reader->ctxt->dict) { in xmlTextReaderSetup()
5021 xmlDictFree(reader->dict); in xmlTextReaderSetup()
5022 reader->dict = reader->ctxt->dict; in xmlTextReaderSetup()
5025 reader->ctxt->dict = reader->dict; in xmlTextReaderSetup()
5028 if (reader->ctxt->dict == NULL) in xmlTextReaderSetup()
5029 reader->ctxt->dict = xmlDictCreate(); in xmlTextReaderSetup()
5030 reader->dict = reader->ctxt->dict; in xmlTextReaderSetup()
5032 reader->ctxt->_private = reader; in xmlTextReaderSetup()
5033 reader->ctxt->linenumbers = 1; in xmlTextReaderSetup()
5034 reader->ctxt->dictNames = 1; in xmlTextReaderSetup()
5038 reader->ctxt->docdict = 1; in xmlTextReaderSetup()
5039 reader->ctxt->parseMode = XML_PARSE_READER; in xmlTextReaderSetup()
5042 if (reader->xincctxt != NULL) { in xmlTextReaderSetup()
5043 xmlXIncludeFreeContext(reader->xincctxt); in xmlTextReaderSetup()
5044 reader->xincctxt = NULL; in xmlTextReaderSetup()
5047 reader->xinclude = 1; in xmlTextReaderSetup()
5048 reader->xinclude_name = xmlDictLookup(reader->dict, XINCLUDE_NODE, -1); in xmlTextReaderSetup()
5051 reader->xinclude = 0; in xmlTextReaderSetup()
5052 reader->in_xinclude = 0; in xmlTextReaderSetup()
5055 if (reader->patternTab == NULL) { in xmlTextReaderSetup()
5056 reader->patternNr = 0; in xmlTextReaderSetup()
5057 reader->patternMax = 0; in xmlTextReaderSetup()
5059 while (reader->patternNr > 0) { in xmlTextReaderSetup()
5060 reader->patternNr--; in xmlTextReaderSetup()
5061 if (reader->patternTab[reader->patternNr] != NULL) { in xmlTextReaderSetup()
5062 xmlFreePattern(reader->patternTab[reader->patternNr]); in xmlTextReaderSetup()
5063 reader->patternTab[reader->patternNr] = NULL; in xmlTextReaderSetup()
5069 reader->validate = XML_TEXTREADER_VALIDATE_DTD; in xmlTextReaderSetup()
5071 xmlCtxtUseOptions(reader->ctxt, options); in xmlTextReaderSetup()
5077 xmlSwitchToEncoding(reader->ctxt, hdlr); in xmlTextReaderSetup()
5079 if ((URL != NULL) && (reader->ctxt->input != NULL) && in xmlTextReaderSetup()
5080 (reader->ctxt->input->filename == NULL)) in xmlTextReaderSetup()
5081 reader->ctxt->input->filename = (char *) in xmlTextReaderSetup()
5084 reader->doc = NULL; in xmlTextReaderSetup()
5103 xmlTextReaderByteConsumed(xmlTextReaderPtr reader) { in xmlTextReaderByteConsumed() argument
5104 if ((reader == NULL) || (reader->ctxt == NULL)) in xmlTextReaderByteConsumed()
5106 return(xmlByteConsumed(reader->ctxt)); in xmlTextReaderByteConsumed()
5187 xmlTextReaderPtr reader; in xmlReaderForFile() local
5189 reader = xmlNewTextReaderFilename(filename); in xmlReaderForFile()
5190 if (reader == NULL) in xmlReaderForFile()
5192 xmlTextReaderSetup(reader, NULL, NULL, encoding, options); in xmlReaderForFile()
5193 return (reader); in xmlReaderForFile()
5213 xmlTextReaderPtr reader; in xmlReaderForMemory() local
5221 reader = xmlNewTextReader(buf, URL); in xmlReaderForMemory()
5222 if (reader == NULL) { in xmlReaderForMemory()
5226 reader->allocs |= XML_TEXTREADER_INPUT; in xmlReaderForMemory()
5227 xmlTextReaderSetup(reader, NULL, URL, encoding, options); in xmlReaderForMemory()
5228 return (reader); in xmlReaderForMemory()
5248 xmlTextReaderPtr reader; in xmlReaderForFd() local
5258 reader = xmlNewTextReader(input, URL); in xmlReaderForFd()
5259 if (reader == NULL) { in xmlReaderForFd()
5263 reader->allocs |= XML_TEXTREADER_INPUT; in xmlReaderForFd()
5264 xmlTextReaderSetup(reader, NULL, URL, encoding, options); in xmlReaderForFd()
5265 return (reader); in xmlReaderForFd()
5287 xmlTextReaderPtr reader; in xmlReaderForIO() local
5297 reader = xmlNewTextReader(input, URL); in xmlReaderForIO()
5298 if (reader == NULL) { in xmlReaderForIO()
5302 reader->allocs |= XML_TEXTREADER_INPUT; in xmlReaderForIO()
5303 xmlTextReaderSetup(reader, NULL, URL, encoding, options); in xmlReaderForIO()
5304 return (reader); in xmlReaderForIO()
5318 xmlReaderNewWalker(xmlTextReaderPtr reader, xmlDocPtr doc) in xmlReaderNewWalker() argument
5322 if (reader == NULL) in xmlReaderNewWalker()
5325 if (reader->input != NULL) { in xmlReaderNewWalker()
5326 xmlFreeParserInputBuffer(reader->input); in xmlReaderNewWalker()
5328 if (reader->ctxt != NULL) { in xmlReaderNewWalker()
5329 xmlCtxtReset(reader->ctxt); in xmlReaderNewWalker()
5332 reader->entNr = 0; in xmlReaderNewWalker()
5333 reader->input = NULL; in xmlReaderNewWalker()
5334 reader->mode = XML_TEXTREADER_MODE_INITIAL; in xmlReaderNewWalker()
5335 reader->node = NULL; in xmlReaderNewWalker()
5336 reader->curnode = NULL; in xmlReaderNewWalker()
5337 reader->base = 0; in xmlReaderNewWalker()
5338 reader->cur = 0; in xmlReaderNewWalker()
5339 reader->allocs = XML_TEXTREADER_CTXT; in xmlReaderNewWalker()
5340 reader->doc = doc; in xmlReaderNewWalker()
5341 reader->state = XML_TEXTREADER_START; in xmlReaderNewWalker()
5342 if (reader->dict == NULL) { in xmlReaderNewWalker()
5343 if ((reader->ctxt != NULL) && (reader->ctxt->dict != NULL)) in xmlReaderNewWalker()
5344 reader->dict = reader->ctxt->dict; in xmlReaderNewWalker()
5346 reader->dict = xmlDictCreate(); in xmlReaderNewWalker()
5366 xmlReaderNewDoc(xmlTextReaderPtr reader, const xmlChar * cur, in xmlReaderNewDoc() argument
5374 if (reader == NULL) in xmlReaderNewDoc()
5378 return (xmlReaderNewMemory(reader, (const char *)cur, len, in xmlReaderNewDoc()
5396 xmlReaderNewFile(xmlTextReaderPtr reader, const char *filename, in xmlReaderNewFile() argument
5403 if (reader == NULL) in xmlReaderNewFile()
5411 return (xmlTextReaderSetup(reader, input, filename, encoding, options)); in xmlReaderNewFile()
5430 xmlReaderNewMemory(xmlTextReaderPtr reader, const char *buffer, int size, in xmlReaderNewMemory() argument
5435 if (reader == NULL) in xmlReaderNewMemory()
5445 return (xmlTextReaderSetup(reader, input, URL, encoding, options)); in xmlReaderNewMemory()
5465 xmlReaderNewFd(xmlTextReaderPtr reader, int fd, in xmlReaderNewFd() argument
5472 if (reader == NULL) in xmlReaderNewFd()
5479 return (xmlTextReaderSetup(reader, input, URL, encoding, options)); in xmlReaderNewFd()
5500 xmlReaderNewIO(xmlTextReaderPtr reader, xmlInputReadCallback ioread, in xmlReaderNewIO() argument
5508 if (reader == NULL) in xmlReaderNewIO()
5515 return (xmlTextReaderSetup(reader, input, URL, encoding, options)); in xmlReaderNewIO()