Lines Matching refs:reader
95 #define DUMP_READER xmlTextReaderDebug(reader);
205 #define CONSTSTR(str) xmlDictLookup(reader->dict, (str), -1)
206 #define CONSTQSTR(p, str) xmlDictQLookup(reader->dict, (p), (str))
208 static int xmlTextReaderReadTree(xmlTextReaderPtr reader);
209 static int xmlTextReaderNextTree(xmlTextReaderPtr reader);
228 static void xmlTextReaderFreeNode(xmlTextReaderPtr reader, xmlNodePtr cur);
229 static void xmlTextReaderFreeNodeList(xmlTextReaderPtr reader, xmlNodePtr cur);
349 xmlTextReaderFreeProp(xmlTextReaderPtr reader, xmlAttrPtr cur) { in xmlTextReaderFreeProp() argument
352 if ((reader != NULL) && (reader->ctxt != NULL)) in xmlTextReaderFreeProp()
353 dict = reader->ctxt->dict; in xmlTextReaderFreeProp()
371 xmlTextReaderFreeNodeList(reader, cur->children); in xmlTextReaderFreeProp()
374 if ((reader != NULL) && (reader->ctxt != NULL) && in xmlTextReaderFreeProp()
375 (reader->ctxt->freeAttrsNr < MAX_FREE_NODES)) { in xmlTextReaderFreeProp()
376 cur->next = reader->ctxt->freeAttrs; in xmlTextReaderFreeProp()
377 reader->ctxt->freeAttrs = cur; in xmlTextReaderFreeProp()
378 reader->ctxt->freeAttrsNr++; in xmlTextReaderFreeProp()
392 xmlTextReaderFreePropList(xmlTextReaderPtr reader, xmlAttrPtr cur) { in xmlTextReaderFreePropList() argument
397 xmlTextReaderFreeProp(reader, cur); in xmlTextReaderFreePropList()
411 xmlTextReaderFreeNodeList(xmlTextReaderPtr reader, xmlNodePtr cur) { in xmlTextReaderFreeNodeList() argument
417 if ((reader != NULL) && (reader->ctxt != NULL)) in xmlTextReaderFreeNodeList()
418 dict = reader->ctxt->dict; in xmlTextReaderFreeNodeList()
453 xmlTextReaderFreePropList(reader, cur->properties); in xmlTextReaderFreeNodeList()
475 (reader != NULL) && (reader->ctxt != NULL) && in xmlTextReaderFreeNodeList()
476 (reader->ctxt->freeElemsNr < MAX_FREE_NODES)) { in xmlTextReaderFreeNodeList()
477 cur->next = reader->ctxt->freeElems; in xmlTextReaderFreeNodeList()
478 reader->ctxt->freeElems = cur; in xmlTextReaderFreeNodeList()
479 reader->ctxt->freeElemsNr++; in xmlTextReaderFreeNodeList()
506 xmlTextReaderFreeNode(xmlTextReaderPtr reader, xmlNodePtr cur) { in xmlTextReaderFreeNode() argument
509 if ((reader != NULL) && (reader->ctxt != NULL)) in xmlTextReaderFreeNode()
510 dict = reader->ctxt->dict; in xmlTextReaderFreeNode()
522 xmlTextReaderFreeProp(reader, (xmlAttrPtr) cur); in xmlTextReaderFreeNode()
529 xmlTextReaderFreeNodeList(reader, cur->children); in xmlTextReaderFreeNode()
540 xmlTextReaderFreePropList(reader, cur->properties); in xmlTextReaderFreeNode()
563 (reader != NULL) && (reader->ctxt != NULL) && in xmlTextReaderFreeNode()
564 (reader->ctxt->freeElemsNr < MAX_FREE_NODES)) { in xmlTextReaderFreeNode()
565 cur->next = reader->ctxt->freeElems; in xmlTextReaderFreeNode()
566 reader->ctxt->freeElems = cur; in xmlTextReaderFreeNode()
567 reader->ctxt->freeElemsNr++; in xmlTextReaderFreeNode()
597 xmlTextReaderFreeDoc(xmlTextReaderPtr reader, xmlDocPtr cur) { in xmlTextReaderFreeDoc() argument
627 if (cur->children != NULL) xmlTextReaderFreeNodeList(reader, cur->children); in xmlTextReaderFreeDoc()
646 xmlTextReaderDebug(xmlTextReaderPtr reader) { in xmlTextReaderDebug() argument
647 if ((reader == NULL) || (reader->ctxt == NULL)) { in xmlTextReaderDebug()
652 reader->state, reader->depth); in xmlTextReaderDebug()
653 if (reader->node == NULL) { in xmlTextReaderDebug()
656 fprintf(stderr, "node %s\n", reader->node->name); in xmlTextReaderDebug()
659 reader->base, reader->cur, reader->ctxt->nodeNr); in xmlTextReaderDebug()
660 if (reader->input->buffer == NULL) { in xmlTextReaderDebug()
665 &reader->input->buffer->content[reader->cur]); in xmlTextReaderDebug()
682 xmlTextReaderEntPush(xmlTextReaderPtr reader, xmlNodePtr value) in xmlTextReaderEntPush() argument
684 if (reader->entMax <= 0) { in xmlTextReaderEntPush()
685 reader->entMax = 10; in xmlTextReaderEntPush()
686 reader->entTab = (xmlNodePtr *) xmlMalloc(reader->entMax * in xmlTextReaderEntPush()
687 sizeof(reader->entTab[0])); in xmlTextReaderEntPush()
688 if (reader->entTab == NULL) { in xmlTextReaderEntPush()
693 if (reader->entNr >= reader->entMax) { in xmlTextReaderEntPush()
694 reader->entMax *= 2; in xmlTextReaderEntPush()
695 reader->entTab = in xmlTextReaderEntPush()
696 (xmlNodePtr *) xmlRealloc(reader->entTab, in xmlTextReaderEntPush()
697 reader->entMax * in xmlTextReaderEntPush()
698 sizeof(reader->entTab[0])); in xmlTextReaderEntPush()
699 if (reader->entTab == NULL) { in xmlTextReaderEntPush()
704 reader->entTab[reader->entNr] = value; in xmlTextReaderEntPush()
705 reader->ent = value; in xmlTextReaderEntPush()
706 return (reader->entNr++); in xmlTextReaderEntPush()
718 xmlTextReaderEntPop(xmlTextReaderPtr reader) in xmlTextReaderEntPop() argument
722 if (reader->entNr <= 0) in xmlTextReaderEntPop()
724 reader->entNr--; in xmlTextReaderEntPop()
725 if (reader->entNr > 0) in xmlTextReaderEntPop()
726 reader->ent = reader->entTab[reader->entNr - 1]; in xmlTextReaderEntPop()
728 reader->ent = NULL; in xmlTextReaderEntPop()
729 ret = reader->entTab[reader->entNr]; in xmlTextReaderEntPop()
730 reader->entTab[reader->entNr] = NULL; in xmlTextReaderEntPop()
746 xmlTextReaderPtr reader = ctxt->_private; in xmlTextReaderStartElement() local
751 if ((reader != NULL) && (reader->startElement != NULL)) { in xmlTextReaderStartElement()
752 reader->startElement(ctx, fullname, atts); in xmlTextReaderStartElement()
758 if (reader != NULL) in xmlTextReaderStartElement()
759 reader->state = XML_TEXTREADER_ELEMENT; in xmlTextReaderStartElement()
772 xmlTextReaderPtr reader = ctxt->_private; in xmlTextReaderEndElement() local
777 if ((reader != NULL) && (reader->endElement != NULL)) { in xmlTextReaderEndElement()
778 reader->endElement(ctx, fullname); in xmlTextReaderEndElement()
809 xmlTextReaderPtr reader = ctxt->_private; in xmlTextReaderStartElementNs() local
814 if ((reader != NULL) && (reader->startElementNs != NULL)) { in xmlTextReaderStartElementNs()
815 reader->startElementNs(ctx, localname, prefix, URI, nb_namespaces, in xmlTextReaderStartElementNs()
823 if (reader != NULL) in xmlTextReaderStartElementNs()
824 reader->state = XML_TEXTREADER_ELEMENT; in xmlTextReaderStartElementNs()
843 xmlTextReaderPtr reader = ctxt->_private; in xmlTextReaderEndElementNs() local
848 if ((reader != NULL) && (reader->endElementNs != NULL)) { in xmlTextReaderEndElementNs()
849 reader->endElementNs(ctx, localname, prefix, URI); in xmlTextReaderEndElementNs()
866 xmlTextReaderPtr reader = ctxt->_private; in xmlTextReaderCharacters() local
871 if ((reader != NULL) && (reader->characters != NULL)) { in xmlTextReaderCharacters()
872 reader->characters(ctx, ch, len); in xmlTextReaderCharacters()
888 xmlTextReaderPtr reader = ctxt->_private; in xmlTextReaderCDataBlock() local
893 if ((reader != NULL) && (reader->cdataBlock != NULL)) { in xmlTextReaderCDataBlock()
894 reader->cdataBlock(ctx, ch, len); in xmlTextReaderCDataBlock()
908 xmlTextReaderPushData(xmlTextReaderPtr reader) { in xmlTextReaderPushData() argument
914 if ((reader->input == NULL) || (reader->input->buffer == NULL)) in xmlTextReaderPushData()
917 oldstate = reader->state; in xmlTextReaderPushData()
918 reader->state = XML_TEXTREADER_NONE; in xmlTextReaderPushData()
919 inbuf = reader->input->buffer; in xmlTextReaderPushData()
922 while (reader->state == XML_TEXTREADER_NONE) { in xmlTextReaderPushData()
923 if (xmlBufUse(inbuf) < reader->cur + CHUNK_SIZE) { in xmlTextReaderPushData()
927 if (reader->mode != XML_TEXTREADER_MODE_EOF) { in xmlTextReaderPushData()
928 val = xmlParserInputBufferRead(reader->input, 4096); in xmlTextReaderPushData()
931 if (xmlBufUse(inbuf) == reader->cur) { in xmlTextReaderPushData()
932 reader->mode = XML_TEXTREADER_MODE_EOF; in xmlTextReaderPushData()
933 reader->state = oldstate; in xmlTextReaderPushData()
936 reader->mode = XML_TEXTREADER_MODE_EOF; in xmlTextReaderPushData()
937 reader->state = oldstate; in xmlTextReaderPushData()
939 (reader->ctxt->myDoc != NULL)) in xmlTextReaderPushData()
943 reader->mode = XML_TEXTREADER_MODE_EOF; in xmlTextReaderPushData()
954 if (xmlBufUse(inbuf) >= reader->cur + CHUNK_SIZE) { in xmlTextReaderPushData()
955 val = xmlParseChunk(reader->ctxt, in xmlTextReaderPushData()
956 (const char *) xmlBufContent(inbuf) + reader->cur, in xmlTextReaderPushData()
958 reader->cur += CHUNK_SIZE; in xmlTextReaderPushData()
960 reader->ctxt->wellFormed = 0; in xmlTextReaderPushData()
961 if (reader->ctxt->wellFormed == 0) in xmlTextReaderPushData()
964 s = xmlBufUse(inbuf) - reader->cur; in xmlTextReaderPushData()
965 val = xmlParseChunk(reader->ctxt, in xmlTextReaderPushData()
966 (const char *) xmlBufContent(inbuf) + reader->cur, in xmlTextReaderPushData()
968 reader->cur += s; in xmlTextReaderPushData()
970 reader->ctxt->wellFormed = 0; in xmlTextReaderPushData()
978 if (reader->mode == XML_TEXTREADER_MODE_INTERACTIVE) { in xmlTextReaderPushData()
980 if ((reader->cur >= 4096) && in xmlTextReaderPushData()
981 (xmlBufUse(inbuf) - reader->cur <= CHUNK_SIZE)) { in xmlTextReaderPushData()
982 val = xmlBufShrink(inbuf, reader->cur); in xmlTextReaderPushData()
984 reader->cur -= val; in xmlTextReaderPushData()
994 else if (reader->mode == XML_TEXTREADER_MODE_EOF) { in xmlTextReaderPushData()
995 if (reader->state != XML_TEXTREADER_DONE) { in xmlTextReaderPushData()
996 s = xmlBufUse(inbuf) - reader->cur; in xmlTextReaderPushData()
997 val = xmlParseChunk(reader->ctxt, in xmlTextReaderPushData()
998 (const char *) xmlBufContent(inbuf) + reader->cur, in xmlTextReaderPushData()
1000 reader->cur = xmlBufUse(inbuf); in xmlTextReaderPushData()
1001 reader->state = XML_TEXTREADER_DONE; in xmlTextReaderPushData()
1003 if (reader->ctxt->wellFormed) in xmlTextReaderPushData()
1004 reader->ctxt->wellFormed = 0; in xmlTextReaderPushData()
1010 reader->state = oldstate; in xmlTextReaderPushData()
1011 if (reader->ctxt->wellFormed == 0) { in xmlTextReaderPushData()
1012 reader->mode = XML_TEXTREADER_MODE_EOF; in xmlTextReaderPushData()
1027 xmlTextReaderValidatePush(xmlTextReaderPtr reader ATTRIBUTE_UNUSED) { in xmlTextReaderValidatePush()
1028 xmlNodePtr node = reader->node; in xmlTextReaderValidatePush()
1031 if ((reader->validate == XML_TEXTREADER_VALIDATE_DTD) && in xmlTextReaderValidatePush()
1032 (reader->ctxt != NULL) && (reader->ctxt->validate == 1)) { in xmlTextReaderValidatePush()
1034 reader->ctxt->valid &= xmlValidatePushElement(&reader->ctxt->vctxt, in xmlTextReaderValidatePush()
1035 reader->ctxt->myDoc, node, node->name); in xmlTextReaderValidatePush()
1043 reader->ctxt->valid &= xmlValidatePushElement(&reader->ctxt->vctxt, in xmlTextReaderValidatePush()
1044 reader->ctxt->myDoc, node, qname); in xmlTextReaderValidatePush()
1051 if ((reader->validate == XML_TEXTREADER_VALIDATE_RNG) && in xmlTextReaderValidatePush()
1052 (reader->rngValidCtxt != NULL)) { in xmlTextReaderValidatePush()
1055 if (reader->rngFullNode != NULL) return; in xmlTextReaderValidatePush()
1056 ret = xmlRelaxNGValidatePushElement(reader->rngValidCtxt, in xmlTextReaderValidatePush()
1057 reader->ctxt->myDoc, in xmlTextReaderValidatePush()
1063 node = xmlTextReaderExpand(reader); in xmlTextReaderValidatePush()
1067 ret = xmlRelaxNGValidateFullElement(reader->rngValidCtxt, in xmlTextReaderValidatePush()
1068 reader->ctxt->myDoc, in xmlTextReaderValidatePush()
1070 reader->rngFullNode = node; in xmlTextReaderValidatePush()
1074 reader->rngValidErrors++; in xmlTextReaderValidatePush()
1088 xmlTextReaderValidateCData(xmlTextReaderPtr reader, in xmlTextReaderValidateCData() argument
1091 if ((reader->validate == XML_TEXTREADER_VALIDATE_DTD) && in xmlTextReaderValidateCData()
1092 (reader->ctxt != NULL) && (reader->ctxt->validate == 1)) { in xmlTextReaderValidateCData()
1093 reader->ctxt->valid &= xmlValidatePushCData(&reader->ctxt->vctxt, in xmlTextReaderValidateCData()
1098 if ((reader->validate == XML_TEXTREADER_VALIDATE_RNG) && in xmlTextReaderValidateCData()
1099 (reader->rngValidCtxt != NULL)) { in xmlTextReaderValidateCData()
1102 if (reader->rngFullNode != NULL) return; in xmlTextReaderValidateCData()
1103 ret = xmlRelaxNGValidatePushCData(reader->rngValidCtxt, data, len); in xmlTextReaderValidateCData()
1105 reader->rngValidErrors++; in xmlTextReaderValidateCData()
1117 xmlTextReaderValidatePop(xmlTextReaderPtr reader) { in xmlTextReaderValidatePop() argument
1118 xmlNodePtr node = reader->node; in xmlTextReaderValidatePop()
1121 if ((reader->validate == XML_TEXTREADER_VALIDATE_DTD) && in xmlTextReaderValidatePop()
1122 (reader->ctxt != NULL) && (reader->ctxt->validate == 1)) { in xmlTextReaderValidatePop()
1124 reader->ctxt->valid &= xmlValidatePopElement(&reader->ctxt->vctxt, in xmlTextReaderValidatePop()
1125 reader->ctxt->myDoc, node, node->name); in xmlTextReaderValidatePop()
1133 reader->ctxt->valid &= xmlValidatePopElement(&reader->ctxt->vctxt, in xmlTextReaderValidatePop()
1134 reader->ctxt->myDoc, node, qname); in xmlTextReaderValidatePop()
1141 if ((reader->validate == XML_TEXTREADER_VALIDATE_RNG) && in xmlTextReaderValidatePop()
1142 (reader->rngValidCtxt != NULL)) { in xmlTextReaderValidatePop()
1145 if (reader->rngFullNode != NULL) { in xmlTextReaderValidatePop()
1146 if (node == reader->rngFullNode) in xmlTextReaderValidatePop()
1147 reader->rngFullNode = NULL; in xmlTextReaderValidatePop()
1150 ret = xmlRelaxNGValidatePopElement(reader->rngValidCtxt, in xmlTextReaderValidatePop()
1151 reader->ctxt->myDoc, in xmlTextReaderValidatePop()
1154 reader->rngValidErrors++; in xmlTextReaderValidatePop()
1168 xmlTextReaderValidateEntity(xmlTextReaderPtr reader) { in xmlTextReaderValidateEntity() argument
1169 xmlNodePtr oldnode = reader->node; in xmlTextReaderValidateEntity()
1170 xmlNodePtr node = reader->node; in xmlTextReaderValidateEntity()
1177 xmlTextReaderEntPush(reader, node); in xmlTextReaderValidateEntity()
1190 reader->node = node; in xmlTextReaderValidateEntity()
1191 xmlTextReaderValidatePush(reader); in xmlTextReaderValidateEntity()
1194 xmlTextReaderValidateCData(reader, node->content, in xmlTextReaderValidateEntity()
1206 xmlTextReaderValidatePop(reader); in xmlTextReaderValidateEntity()
1217 if (reader->entNr == 0) { in xmlTextReaderValidateEntity()
1221 xmlTextReaderFreeNode(reader, tmp); in xmlTextReaderValidateEntity()
1226 reader->node = node; in xmlTextReaderValidateEntity()
1227 xmlTextReaderValidatePop(reader); in xmlTextReaderValidateEntity()
1230 (reader->ent != NULL) && (reader->ent->children == node)) { in xmlTextReaderValidateEntity()
1231 node = xmlTextReaderEntPop(reader); in xmlTextReaderValidateEntity()
1241 reader->node = oldnode; in xmlTextReaderValidateEntity()
1278 xmlTextReaderDoExpand(xmlTextReaderPtr reader) { in xmlTextReaderDoExpand() argument
1281 if ((reader == NULL) || (reader->node == NULL) || (reader->ctxt == NULL)) in xmlTextReaderDoExpand()
1284 if (reader->ctxt->instate == XML_PARSER_EOF) return(1); in xmlTextReaderDoExpand()
1286 if (xmlTextReaderGetSuccessor(reader->node) != NULL) in xmlTextReaderDoExpand()
1288 if (reader->ctxt->nodeNr < reader->depth) in xmlTextReaderDoExpand()
1290 if (reader->mode == XML_TEXTREADER_MODE_EOF) in xmlTextReaderDoExpand()
1292 val = xmlTextReaderPushData(reader); in xmlTextReaderDoExpand()
1294 reader->mode = XML_TEXTREADER_MODE_ERROR; in xmlTextReaderDoExpand()
1297 } while(reader->mode != XML_TEXTREADER_MODE_EOF); in xmlTextReaderDoExpand()
1359 xmlTextReaderRead(xmlTextReaderPtr reader) { in xmlTextReaderRead() argument
1365 if (reader == NULL) in xmlTextReaderRead()
1367 reader->curnode = NULL; in xmlTextReaderRead()
1368 if (reader->doc != NULL) in xmlTextReaderRead()
1369 return(xmlTextReaderReadTree(reader)); in xmlTextReaderRead()
1370 if (reader->ctxt == NULL) in xmlTextReaderRead()
1377 if (reader->mode == XML_TEXTREADER_MODE_INITIAL) { in xmlTextReaderRead()
1378 reader->mode = XML_TEXTREADER_MODE_INTERACTIVE; in xmlTextReaderRead()
1383 val = xmlTextReaderPushData(reader); in xmlTextReaderRead()
1385 reader->mode = XML_TEXTREADER_MODE_ERROR; in xmlTextReaderRead()
1386 reader->state = XML_TEXTREADER_ERROR; in xmlTextReaderRead()
1389 } while ((reader->ctxt->node == NULL) && in xmlTextReaderRead()
1390 ((reader->mode != XML_TEXTREADER_MODE_EOF) && in xmlTextReaderRead()
1391 (reader->state != XML_TEXTREADER_DONE))); in xmlTextReaderRead()
1392 if (reader->ctxt->node == NULL) { in xmlTextReaderRead()
1393 if (reader->ctxt->myDoc != NULL) { in xmlTextReaderRead()
1394 reader->node = reader->ctxt->myDoc->children; in xmlTextReaderRead()
1396 if (reader->node == NULL){ in xmlTextReaderRead()
1397 reader->mode = XML_TEXTREADER_MODE_ERROR; in xmlTextReaderRead()
1398 reader->state = XML_TEXTREADER_ERROR; in xmlTextReaderRead()
1401 reader->state = XML_TEXTREADER_ELEMENT; in xmlTextReaderRead()
1403 if (reader->ctxt->myDoc != NULL) { in xmlTextReaderRead()
1404 reader->node = reader->ctxt->myDoc->children; in xmlTextReaderRead()
1406 if (reader->node == NULL) in xmlTextReaderRead()
1407 reader->node = reader->ctxt->nodeTab[0]; in xmlTextReaderRead()
1408 reader->state = XML_TEXTREADER_ELEMENT; in xmlTextReaderRead()
1410 reader->depth = 0; in xmlTextReaderRead()
1411 reader->ctxt->parseMode = XML_PARSE_READER; in xmlTextReaderRead()
1414 oldstate = reader->state; in xmlTextReaderRead()
1415 olddepth = reader->ctxt->nodeNr; in xmlTextReaderRead()
1416 oldnode = reader->node; in xmlTextReaderRead()
1419 if (reader->node == NULL) { in xmlTextReaderRead()
1420 if (reader->mode == XML_TEXTREADER_MODE_EOF) in xmlTextReaderRead()
1431 while ((reader->node != NULL) && (reader->node->next == NULL) && in xmlTextReaderRead()
1432 (reader->ctxt->nodeNr == olddepth) && in xmlTextReaderRead()
1434 (reader->node->children == NULL) || in xmlTextReaderRead()
1435 (reader->node->type == XML_ENTITY_REF_NODE) || in xmlTextReaderRead()
1436 ((reader->node->children != NULL) && in xmlTextReaderRead()
1437 (reader->node->children->type == XML_TEXT_NODE) && in xmlTextReaderRead()
1438 (reader->node->children->next == NULL)) || in xmlTextReaderRead()
1439 (reader->node->type == XML_DTD_NODE) || in xmlTextReaderRead()
1440 (reader->node->type == XML_DOCUMENT_NODE) || in xmlTextReaderRead()
1441 (reader->node->type == XML_HTML_DOCUMENT_NODE)) && in xmlTextReaderRead()
1442 ((reader->ctxt->node == NULL) || in xmlTextReaderRead()
1443 (reader->ctxt->node == reader->node) || in xmlTextReaderRead()
1444 (reader->ctxt->node == reader->node->parent)) && in xmlTextReaderRead()
1445 (reader->ctxt->instate != XML_PARSER_EOF)) { in xmlTextReaderRead()
1446 val = xmlTextReaderPushData(reader); in xmlTextReaderRead()
1448 reader->mode = XML_TEXTREADER_MODE_ERROR; in xmlTextReaderRead()
1449 reader->state = XML_TEXTREADER_ERROR; in xmlTextReaderRead()
1452 if (reader->node == NULL) in xmlTextReaderRead()
1456 if ((reader->node->children != NULL) && in xmlTextReaderRead()
1457 (reader->node->type != XML_ENTITY_REF_NODE) && in xmlTextReaderRead()
1458 (reader->node->type != XML_XINCLUDE_START) && in xmlTextReaderRead()
1459 (reader->node->type != XML_DTD_NODE)) { in xmlTextReaderRead()
1460 reader->node = reader->node->children; in xmlTextReaderRead()
1461 reader->depth++; in xmlTextReaderRead()
1462 reader->state = XML_TEXTREADER_ELEMENT; in xmlTextReaderRead()
1466 if (reader->node->next != NULL) { in xmlTextReaderRead()
1468 (reader->node->type == XML_ELEMENT_NODE) && in xmlTextReaderRead()
1469 (reader->node->children == NULL) && in xmlTextReaderRead()
1470 ((reader->node->extra & NODE_IS_EMPTY) == 0) in xmlTextReaderRead()
1472 && (reader->in_xinclude <= 0) in xmlTextReaderRead()
1475 reader->state = XML_TEXTREADER_END; in xmlTextReaderRead()
1479 if ((reader->validate) && in xmlTextReaderRead()
1480 (reader->node->type == XML_ELEMENT_NODE)) in xmlTextReaderRead()
1481 xmlTextReaderValidatePop(reader); in xmlTextReaderRead()
1483 if ((reader->preserves > 0) && in xmlTextReaderRead()
1484 (reader->node->extra & NODE_IS_SPRESERVED)) in xmlTextReaderRead()
1485 reader->preserves--; in xmlTextReaderRead()
1486 reader->node = reader->node->next; in xmlTextReaderRead()
1487 reader->state = XML_TEXTREADER_ELEMENT; in xmlTextReaderRead()
1492 if ((reader->preserves == 0) && in xmlTextReaderRead()
1494 (reader->in_xinclude == 0) && in xmlTextReaderRead()
1496 (reader->entNr == 0) && in xmlTextReaderRead()
1497 (reader->node->prev != NULL) && in xmlTextReaderRead()
1498 (reader->node->prev->type != XML_DTD_NODE)) { in xmlTextReaderRead()
1499 xmlNodePtr tmp = reader->node->prev; in xmlTextReaderRead()
1504 xmlTextReaderFreeNode(reader, tmp); in xmlTextReaderRead()
1511 (reader->node->type == XML_ELEMENT_NODE) && in xmlTextReaderRead()
1512 (reader->node->children == NULL) && in xmlTextReaderRead()
1513 ((reader->node->extra & NODE_IS_EMPTY) == 0)) {; in xmlTextReaderRead()
1514 reader->state = XML_TEXTREADER_END; in xmlTextReaderRead()
1518 … if ((reader->validate != XML_TEXTREADER_NOT_VALIDATE) && (reader->node->type == XML_ELEMENT_NODE)) in xmlTextReaderRead()
1519 xmlTextReaderValidatePop(reader); in xmlTextReaderRead()
1521 if ((reader->preserves > 0) && in xmlTextReaderRead()
1522 (reader->node->extra & NODE_IS_SPRESERVED)) in xmlTextReaderRead()
1523 reader->preserves--; in xmlTextReaderRead()
1524 reader->node = reader->node->parent; in xmlTextReaderRead()
1525 if ((reader->node == NULL) || in xmlTextReaderRead()
1526 (reader->node->type == XML_DOCUMENT_NODE) || in xmlTextReaderRead()
1528 (reader->node->type == XML_DOCB_DOCUMENT_NODE) || in xmlTextReaderRead()
1530 (reader->node->type == XML_HTML_DOCUMENT_NODE)) { in xmlTextReaderRead()
1531 if (reader->mode != XML_TEXTREADER_MODE_EOF) { in xmlTextReaderRead()
1532 val = xmlParseChunk(reader->ctxt, "", 0, 1); in xmlTextReaderRead()
1533 reader->state = XML_TEXTREADER_DONE; in xmlTextReaderRead()
1537 reader->node = NULL; in xmlTextReaderRead()
1538 reader->depth = -1; in xmlTextReaderRead()
1543 if ((oldnode != NULL) && (reader->preserves == 0) && in xmlTextReaderRead()
1545 (reader->in_xinclude == 0) && in xmlTextReaderRead()
1547 (reader->entNr == 0) && in xmlTextReaderRead()
1551 xmlTextReaderFreeNode(reader, oldnode); in xmlTextReaderRead()
1556 if ((reader->preserves == 0) && in xmlTextReaderRead()
1558 (reader->in_xinclude == 0) && in xmlTextReaderRead()
1560 (reader->entNr == 0) && in xmlTextReaderRead()
1561 (reader->node->last != NULL) && in xmlTextReaderRead()
1562 ((reader->node->last->extra & NODE_IS_PRESERVED) == 0)) { in xmlTextReaderRead()
1563 xmlNodePtr tmp = reader->node->last; in xmlTextReaderRead()
1565 xmlTextReaderFreeNode(reader, tmp); in xmlTextReaderRead()
1567 reader->depth--; in xmlTextReaderRead()
1568 reader->state = XML_TEXTREADER_BACKTRACK; in xmlTextReaderRead()
1576 if ((reader->node != NULL) && in xmlTextReaderRead()
1577 (reader->node->next == NULL) && in xmlTextReaderRead()
1578 ((reader->node->type == XML_TEXT_NODE) || in xmlTextReaderRead()
1579 (reader->node->type == XML_CDATA_SECTION_NODE))) { in xmlTextReaderRead()
1580 if (xmlTextReaderExpand(reader) == NULL) in xmlTextReaderRead()
1588 if ((reader->xinclude) && (reader->in_xinclude == 0) && in xmlTextReaderRead()
1589 (reader->node != NULL) && in xmlTextReaderRead()
1590 (reader->node->type == XML_ELEMENT_NODE) && in xmlTextReaderRead()
1591 (reader->node->ns != NULL) && in xmlTextReaderRead()
1592 ((xmlStrEqual(reader->node->ns->href, XINCLUDE_NS)) || in xmlTextReaderRead()
1593 (xmlStrEqual(reader->node->ns->href, XINCLUDE_OLD_NS)))) { in xmlTextReaderRead()
1594 if (reader->xincctxt == NULL) { in xmlTextReaderRead()
1595 reader->xincctxt = xmlXIncludeNewContext(reader->ctxt->myDoc); in xmlTextReaderRead()
1596 xmlXIncludeSetFlags(reader->xincctxt, in xmlTextReaderRead()
1597 reader->parserFlags & (~XML_PARSE_NOXINCNODE)); in xmlTextReaderRead()
1602 if (xmlTextReaderExpand(reader) == NULL) in xmlTextReaderRead()
1604 xmlXIncludeProcessNode(reader->xincctxt, reader->node); in xmlTextReaderRead()
1606 if ((reader->node != NULL) && (reader->node->type == XML_XINCLUDE_START)) { in xmlTextReaderRead()
1607 reader->in_xinclude++; in xmlTextReaderRead()
1610 if ((reader->node != NULL) && (reader->node->type == XML_XINCLUDE_END)) { in xmlTextReaderRead()
1611 reader->in_xinclude--; in xmlTextReaderRead()
1618 if ((reader->node != NULL) && in xmlTextReaderRead()
1619 (reader->node->type == XML_ENTITY_REF_NODE) && in xmlTextReaderRead()
1620 (reader->ctxt != NULL) && (reader->ctxt->replaceEntities == 1)) { in xmlTextReaderRead()
1621 if ((reader->node->children != NULL) && in xmlTextReaderRead()
1622 (reader->node->children->type == XML_ENTITY_DECL) && in xmlTextReaderRead()
1623 (reader->node->children->children != NULL)) { in xmlTextReaderRead()
1624 xmlTextReaderEntPush(reader, reader->node); in xmlTextReaderRead()
1625 reader->node = reader->node->children->children; in xmlTextReaderRead()
1628 } else if ((reader->node != NULL) && in xmlTextReaderRead()
1629 (reader->node->type == XML_ENTITY_REF_NODE) && in xmlTextReaderRead()
1630 (reader->ctxt != NULL) && (reader->validate)) { in xmlTextReaderRead()
1631 xmlTextReaderValidateEntity(reader); in xmlTextReaderRead()
1634 if ((reader->node != NULL) && in xmlTextReaderRead()
1635 (reader->node->type == XML_ENTITY_DECL) && in xmlTextReaderRead()
1636 (reader->ent != NULL) && (reader->ent->children == reader->node)) { in xmlTextReaderRead()
1637 reader->node = xmlTextReaderEntPop(reader); in xmlTextReaderRead()
1638 reader->depth++; in xmlTextReaderRead()
1642 if ((reader->validate != XML_TEXTREADER_NOT_VALIDATE) && (reader->node != NULL)) { in xmlTextReaderRead()
1643 xmlNodePtr node = reader->node; in xmlTextReaderRead()
1646 ((reader->state != XML_TEXTREADER_END) && in xmlTextReaderRead()
1647 (reader->state != XML_TEXTREADER_BACKTRACK))) { in xmlTextReaderRead()
1648 xmlTextReaderValidatePush(reader); in xmlTextReaderRead()
1651 xmlTextReaderValidateCData(reader, node->content, in xmlTextReaderRead()
1657 if ((reader->patternNr > 0) && (reader->state != XML_TEXTREADER_END) && in xmlTextReaderRead()
1658 (reader->state != XML_TEXTREADER_BACKTRACK)) { in xmlTextReaderRead()
1660 for (i = 0;i < reader->patternNr;i++) { in xmlTextReaderRead()
1661 if (xmlPatternMatch(reader->patternTab[i], reader->node) == 1) { in xmlTextReaderRead()
1662 xmlTextReaderPreserve(reader); in xmlTextReaderRead()
1669 if ((reader->validate == XML_TEXTREADER_VALIDATE_XSD) && in xmlTextReaderRead()
1670 (reader->xsdValidErrors == 0) && in xmlTextReaderRead()
1671 (reader->xsdValidCtxt != NULL)) { in xmlTextReaderRead()
1672 reader->xsdValidErrors = !xmlSchemaIsValid(reader->xsdValidCtxt); in xmlTextReaderRead()
1677 reader->state = XML_TEXTREADER_DONE; in xmlTextReaderRead()
1690 xmlTextReaderReadState(xmlTextReaderPtr reader) { in xmlTextReaderReadState() argument
1691 if (reader == NULL) in xmlTextReaderReadState()
1693 return(reader->mode); in xmlTextReaderReadState()
1707 xmlTextReaderExpand(xmlTextReaderPtr reader) { in xmlTextReaderExpand() argument
1708 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderExpand()
1710 if (reader->doc != NULL) in xmlTextReaderExpand()
1711 return(reader->node); in xmlTextReaderExpand()
1712 if (reader->ctxt == NULL) in xmlTextReaderExpand()
1714 if (xmlTextReaderDoExpand(reader) < 0) in xmlTextReaderExpand()
1716 return(reader->node); in xmlTextReaderExpand()
1730 xmlTextReaderNext(xmlTextReaderPtr reader) { in xmlTextReaderNext() argument
1734 if (reader == NULL) in xmlTextReaderNext()
1736 if (reader->doc != NULL) in xmlTextReaderNext()
1737 return(xmlTextReaderNextTree(reader)); in xmlTextReaderNext()
1738 cur = reader->node; in xmlTextReaderNext()
1740 return(xmlTextReaderRead(reader)); in xmlTextReaderNext()
1741 if (reader->state == XML_TEXTREADER_END || reader->state == XML_TEXTREADER_BACKTRACK) in xmlTextReaderNext()
1742 return(xmlTextReaderRead(reader)); in xmlTextReaderNext()
1744 return(xmlTextReaderRead(reader)); in xmlTextReaderNext()
1746 ret = xmlTextReaderRead(reader); in xmlTextReaderNext()
1749 } while (reader->node != cur); in xmlTextReaderNext()
1750 return(xmlTextReaderRead(reader)); in xmlTextReaderNext()
1765 xmlTextReaderReadInnerXml(xmlTextReaderPtr reader ATTRIBUTE_UNUSED) in xmlTextReaderReadInnerXml()
1772 if (xmlTextReaderExpand(reader) == NULL) { in xmlTextReaderReadInnerXml()
1775 doc = reader->node->doc; in xmlTextReaderReadInnerXml()
1779 for (cur_node = reader->node->children; cur_node != NULL; in xmlTextReaderReadInnerXml()
1814 xmlTextReaderReadOuterXml(xmlTextReaderPtr reader ATTRIBUTE_UNUSED) in xmlTextReaderReadOuterXml()
1821 if (xmlTextReaderExpand(reader) == NULL) { in xmlTextReaderReadOuterXml()
1824 node = reader->node; in xmlTextReaderReadOuterXml()
1859 xmlTextReaderReadString(xmlTextReaderPtr reader) in xmlTextReaderReadString() argument
1863 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderReadString()
1866 node = (reader->curnode != NULL) ? reader->curnode : reader->node; in xmlTextReaderReadString()
1873 if (xmlTextReaderDoExpand(reader) != -1) { in xmlTextReaderReadString()
1902 xmlTextReaderReadBase64(xmlTextReaderPtr reader,
1906 if ((reader == NULL) || (reader->ctxt == NULL))
1908 if (reader->ctxt->wellFormed != 1)
1911 if ((reader->node == NULL) || (reader->node->type == XML_ELEMENT_NODE))
1932 xmlTextReaderReadBinHex(xmlTextReaderPtr reader,
1936 if ((reader == NULL) || (reader->ctxt == NULL))
1938 if (reader->ctxt->wellFormed != 1)
1941 if ((reader->node == NULL) || (reader->node->type == XML_ELEMENT_NODE))
1954 xmlTextReaderNextTree(xmlTextReaderPtr reader) in xmlTextReaderNextTree() argument
1956 if (reader == NULL) in xmlTextReaderNextTree()
1959 if (reader->state == XML_TEXTREADER_END) in xmlTextReaderNextTree()
1962 if (reader->node == NULL) { in xmlTextReaderNextTree()
1963 if (reader->doc->children == NULL) { in xmlTextReaderNextTree()
1964 reader->state = XML_TEXTREADER_END; in xmlTextReaderNextTree()
1968 reader->node = reader->doc->children; in xmlTextReaderNextTree()
1969 reader->state = XML_TEXTREADER_START; in xmlTextReaderNextTree()
1973 if (reader->state != XML_TEXTREADER_BACKTRACK) { in xmlTextReaderNextTree()
1976 if (reader->node->next != 0) { in xmlTextReaderNextTree()
1978 reader->node = reader->node->next; in xmlTextReaderNextTree()
1979 reader->state = XML_TEXTREADER_START; in xmlTextReaderNextTree()
1985 reader->state = XML_TEXTREADER_BACKTRACK; in xmlTextReaderNextTree()
1987 xmlTextReaderRead(reader); in xmlTextReaderNextTree()
1990 if (reader->node->next != 0) { in xmlTextReaderNextTree()
1991 reader->node = reader->node->next; in xmlTextReaderNextTree()
1992 reader->state = XML_TEXTREADER_START; in xmlTextReaderNextTree()
1996 if (reader->node->parent != 0) { in xmlTextReaderNextTree()
1997 if (reader->node->parent->type == XML_DOCUMENT_NODE) { in xmlTextReaderNextTree()
1998 reader->state = XML_TEXTREADER_END; in xmlTextReaderNextTree()
2002 reader->node = reader->node->parent; in xmlTextReaderNextTree()
2003 reader->depth--; in xmlTextReaderNextTree()
2004 reader->state = XML_TEXTREADER_BACKTRACK; in xmlTextReaderNextTree()
2006 xmlTextReaderNextTree(reader); in xmlTextReaderNextTree()
2009 reader->state = XML_TEXTREADER_END; in xmlTextReaderNextTree()
2025 xmlTextReaderReadTree(xmlTextReaderPtr reader) { in xmlTextReaderReadTree() argument
2026 if (reader->state == XML_TEXTREADER_END) in xmlTextReaderReadTree()
2030 if (reader->node == NULL) { in xmlTextReaderReadTree()
2031 if (reader->doc->children == NULL) { in xmlTextReaderReadTree()
2032 reader->state = XML_TEXTREADER_END; in xmlTextReaderReadTree()
2036 reader->node = reader->doc->children; in xmlTextReaderReadTree()
2037 reader->state = XML_TEXTREADER_START; in xmlTextReaderReadTree()
2041 if ((reader->state != XML_TEXTREADER_BACKTRACK) && in xmlTextReaderReadTree()
2042 (reader->node->type != XML_DTD_NODE) && in xmlTextReaderReadTree()
2043 (reader->node->type != XML_XINCLUDE_START) && in xmlTextReaderReadTree()
2044 (reader->node->type != XML_ENTITY_REF_NODE)) { in xmlTextReaderReadTree()
2045 if (reader->node->children != NULL) { in xmlTextReaderReadTree()
2046 reader->node = reader->node->children; in xmlTextReaderReadTree()
2047 reader->depth++; in xmlTextReaderReadTree()
2048 reader->state = XML_TEXTREADER_START; in xmlTextReaderReadTree()
2052 if (reader->node->type == XML_ATTRIBUTE_NODE) { in xmlTextReaderReadTree()
2053 reader->state = XML_TEXTREADER_BACKTRACK; in xmlTextReaderReadTree()
2058 if (reader->node->next != NULL) { in xmlTextReaderReadTree()
2059 reader->node = reader->node->next; in xmlTextReaderReadTree()
2060 reader->state = XML_TEXTREADER_START; in xmlTextReaderReadTree()
2064 if (reader->node->parent != NULL) { in xmlTextReaderReadTree()
2065 if ((reader->node->parent->type == XML_DOCUMENT_NODE) || in xmlTextReaderReadTree()
2066 (reader->node->parent->type == XML_HTML_DOCUMENT_NODE)) { in xmlTextReaderReadTree()
2067 reader->state = XML_TEXTREADER_END; in xmlTextReaderReadTree()
2071 reader->node = reader->node->parent; in xmlTextReaderReadTree()
2072 reader->depth--; in xmlTextReaderReadTree()
2073 reader->state = XML_TEXTREADER_BACKTRACK; in xmlTextReaderReadTree()
2077 reader->state = XML_TEXTREADER_END; in xmlTextReaderReadTree()
2080 if ((reader->node->type == XML_XINCLUDE_START) || in xmlTextReaderReadTree()
2081 (reader->node->type == XML_XINCLUDE_END)) in xmlTextReaderReadTree()
2099 xmlTextReaderNextSibling(xmlTextReaderPtr reader) { in xmlTextReaderNextSibling() argument
2100 if (reader == NULL) in xmlTextReaderNextSibling()
2102 if (reader->doc == NULL) { in xmlTextReaderNextSibling()
2107 if (reader->state == XML_TEXTREADER_END) in xmlTextReaderNextSibling()
2110 if (reader->node == NULL) in xmlTextReaderNextSibling()
2111 return(xmlTextReaderNextTree(reader)); in xmlTextReaderNextSibling()
2113 if (reader->node->next != NULL) { in xmlTextReaderNextSibling()
2114 reader->node = reader->node->next; in xmlTextReaderNextSibling()
2115 reader->state = XML_TEXTREADER_START; in xmlTextReaderNextSibling()
2281 xmlFreeTextReader(xmlTextReaderPtr reader) { in xmlFreeTextReader() argument
2282 if (reader == NULL) in xmlFreeTextReader()
2285 if (reader->rngSchemas != NULL) { in xmlFreeTextReader()
2286 xmlRelaxNGFree(reader->rngSchemas); in xmlFreeTextReader()
2287 reader->rngSchemas = NULL; in xmlFreeTextReader()
2289 if (reader->rngValidCtxt != NULL) { in xmlFreeTextReader()
2290 if (! reader->rngPreserveCtxt) in xmlFreeTextReader()
2291 xmlRelaxNGFreeValidCtxt(reader->rngValidCtxt); in xmlFreeTextReader()
2292 reader->rngValidCtxt = NULL; in xmlFreeTextReader()
2294 if (reader->xsdPlug != NULL) { in xmlFreeTextReader()
2295 xmlSchemaSAXUnplug(reader->xsdPlug); in xmlFreeTextReader()
2296 reader->xsdPlug = NULL; in xmlFreeTextReader()
2298 if (reader->xsdValidCtxt != NULL) { in xmlFreeTextReader()
2299 if (! reader->xsdPreserveCtxt) in xmlFreeTextReader()
2300 xmlSchemaFreeValidCtxt(reader->xsdValidCtxt); in xmlFreeTextReader()
2301 reader->xsdValidCtxt = NULL; in xmlFreeTextReader()
2303 if (reader->xsdSchemas != NULL) { in xmlFreeTextReader()
2304 xmlSchemaFree(reader->xsdSchemas); in xmlFreeTextReader()
2305 reader->xsdSchemas = NULL; in xmlFreeTextReader()
2309 if (reader->xincctxt != NULL) in xmlFreeTextReader()
2310 xmlXIncludeFreeContext(reader->xincctxt); in xmlFreeTextReader()
2313 if (reader->patternTab != NULL) { in xmlFreeTextReader()
2315 for (i = 0;i < reader->patternNr;i++) { in xmlFreeTextReader()
2316 if (reader->patternTab[i] != NULL) in xmlFreeTextReader()
2317 xmlFreePattern(reader->patternTab[i]); in xmlFreeTextReader()
2319 xmlFree(reader->patternTab); in xmlFreeTextReader()
2322 if (reader->faketext != NULL) { in xmlFreeTextReader()
2323 xmlFreeNode(reader->faketext); in xmlFreeTextReader()
2325 if (reader->ctxt != NULL) { in xmlFreeTextReader()
2326 if (reader->dict == reader->ctxt->dict) in xmlFreeTextReader()
2327 reader->dict = NULL; in xmlFreeTextReader()
2329 if ((reader->ctxt->vctxt.vstateTab != NULL) && in xmlFreeTextReader()
2330 (reader->ctxt->vctxt.vstateMax > 0)){ in xmlFreeTextReader()
2332 while (reader->ctxt->vctxt.vstateNr > 0) in xmlFreeTextReader()
2333 xmlValidatePopElement(&reader->ctxt->vctxt, NULL, NULL, NULL); in xmlFreeTextReader()
2335 xmlFree(reader->ctxt->vctxt.vstateTab); in xmlFreeTextReader()
2336 reader->ctxt->vctxt.vstateTab = NULL; in xmlFreeTextReader()
2337 reader->ctxt->vctxt.vstateMax = 0; in xmlFreeTextReader()
2340 if (reader->ctxt->myDoc != NULL) { in xmlFreeTextReader()
2341 if (reader->preserve == 0) in xmlFreeTextReader()
2342 xmlTextReaderFreeDoc(reader, reader->ctxt->myDoc); in xmlFreeTextReader()
2343 reader->ctxt->myDoc = NULL; in xmlFreeTextReader()
2345 if (reader->allocs & XML_TEXTREADER_CTXT) in xmlFreeTextReader()
2346 xmlFreeParserCtxt(reader->ctxt); in xmlFreeTextReader()
2348 if (reader->sax != NULL) in xmlFreeTextReader()
2349 xmlFree(reader->sax); in xmlFreeTextReader()
2350 if ((reader->input != NULL) && (reader->allocs & XML_TEXTREADER_INPUT)) in xmlFreeTextReader()
2351 xmlFreeParserInputBuffer(reader->input); in xmlFreeTextReader()
2352 if (reader->buffer != NULL) in xmlFreeTextReader()
2353 xmlBufFree(reader->buffer); in xmlFreeTextReader()
2354 if (reader->entTab != NULL) in xmlFreeTextReader()
2355 xmlFree(reader->entTab); in xmlFreeTextReader()
2356 if (reader->dict != NULL) in xmlFreeTextReader()
2357 xmlDictFree(reader->dict); in xmlFreeTextReader()
2358 xmlFree(reader); in xmlFreeTextReader()
2376 xmlTextReaderClose(xmlTextReaderPtr reader) { in xmlTextReaderClose() argument
2377 if (reader == NULL) in xmlTextReaderClose()
2379 reader->node = NULL; in xmlTextReaderClose()
2380 reader->curnode = NULL; in xmlTextReaderClose()
2381 reader->mode = XML_TEXTREADER_MODE_CLOSED; in xmlTextReaderClose()
2382 if (reader->ctxt != NULL) { in xmlTextReaderClose()
2383 xmlStopParser(reader->ctxt); in xmlTextReaderClose()
2384 if (reader->ctxt->myDoc != NULL) { in xmlTextReaderClose()
2385 if (reader->preserve == 0) in xmlTextReaderClose()
2386 xmlTextReaderFreeDoc(reader, reader->ctxt->myDoc); in xmlTextReaderClose()
2387 reader->ctxt->myDoc = NULL; in xmlTextReaderClose()
2390 if ((reader->input != NULL) && (reader->allocs & XML_TEXTREADER_INPUT)) { in xmlTextReaderClose()
2391 xmlFreeParserInputBuffer(reader->input); in xmlTextReaderClose()
2392 reader->allocs -= XML_TEXTREADER_INPUT; in xmlTextReaderClose()
2409 xmlTextReaderGetAttributeNo(xmlTextReaderPtr reader, int no) { in xmlTextReaderGetAttributeNo() argument
2415 if (reader == NULL) in xmlTextReaderGetAttributeNo()
2417 if (reader->node == NULL) in xmlTextReaderGetAttributeNo()
2419 if (reader->curnode != NULL) in xmlTextReaderGetAttributeNo()
2422 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderGetAttributeNo()
2425 ns = reader->node->nsDef; in xmlTextReaderGetAttributeNo()
2432 cur = reader->node->properties; in xmlTextReaderGetAttributeNo()
2442 ret = xmlNodeListGetString(reader->node->doc, cur->children, 1); in xmlTextReaderGetAttributeNo()
2458 xmlTextReaderGetAttribute(xmlTextReaderPtr reader, const xmlChar *name) { in xmlTextReaderGetAttribute() argument
2464 if ((reader == NULL) || (name == NULL)) in xmlTextReaderGetAttribute()
2466 if (reader->node == NULL) in xmlTextReaderGetAttribute()
2468 if (reader->curnode != NULL) in xmlTextReaderGetAttribute()
2472 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderGetAttribute()
2481 ns = reader->node->nsDef; in xmlTextReaderGetAttribute()
2490 return(xmlGetNoNsProp(reader->node, name)); in xmlTextReaderGetAttribute()
2497 ns = reader->node->nsDef; in xmlTextReaderGetAttribute()
2506 ns = xmlSearchNs(reader->node->doc, reader->node, prefix); in xmlTextReaderGetAttribute()
2508 ret = xmlGetNsProp(reader->node, localname, ns->href); in xmlTextReaderGetAttribute()
2530 xmlTextReaderGetAttributeNs(xmlTextReaderPtr reader, const xmlChar *localName, in xmlTextReaderGetAttributeNs() argument
2535 if ((reader == NULL) || (localName == NULL)) in xmlTextReaderGetAttributeNs()
2537 if (reader->node == NULL) in xmlTextReaderGetAttributeNs()
2539 if (reader->curnode != NULL) in xmlTextReaderGetAttributeNs()
2543 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderGetAttributeNs()
2550 ns = reader->node->nsDef; in xmlTextReaderGetAttributeNs()
2561 return(xmlGetNsProp(reader->node, localName, namespaceURI)); in xmlTextReaderGetAttributeNs()
2580 xmlTextReaderGetRemainder(xmlTextReaderPtr reader) { in xmlTextReaderGetRemainder() argument
2583 if (reader == NULL) in xmlTextReaderGetRemainder()
2585 if (reader->node == NULL) in xmlTextReaderGetRemainder()
2588 reader->node = NULL; in xmlTextReaderGetRemainder()
2589 reader->curnode = NULL; in xmlTextReaderGetRemainder()
2590 reader->mode = XML_TEXTREADER_MODE_EOF; in xmlTextReaderGetRemainder()
2591 if (reader->ctxt != NULL) { in xmlTextReaderGetRemainder()
2592 xmlStopParser(reader->ctxt); in xmlTextReaderGetRemainder()
2593 if (reader->ctxt->myDoc != NULL) { in xmlTextReaderGetRemainder()
2594 if (reader->preserve == 0) in xmlTextReaderGetRemainder()
2595 xmlTextReaderFreeDoc(reader, reader->ctxt->myDoc); in xmlTextReaderGetRemainder()
2596 reader->ctxt->myDoc = NULL; in xmlTextReaderGetRemainder()
2599 if (reader->allocs & XML_TEXTREADER_INPUT) { in xmlTextReaderGetRemainder()
2600 ret = reader->input; in xmlTextReaderGetRemainder()
2601 reader->input = NULL; in xmlTextReaderGetRemainder()
2602 reader->allocs -= XML_TEXTREADER_INPUT; in xmlTextReaderGetRemainder()
2628 xmlTextReaderLookupNamespace(xmlTextReaderPtr reader, const xmlChar *prefix) { in xmlTextReaderLookupNamespace() argument
2631 if (reader == NULL) in xmlTextReaderLookupNamespace()
2633 if (reader->node == NULL) in xmlTextReaderLookupNamespace()
2636 ns = xmlSearchNs(reader->node->doc, reader->node, prefix); in xmlTextReaderLookupNamespace()
2654 xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader, int no) { in xmlTextReaderMoveToAttributeNo() argument
2659 if (reader == NULL) in xmlTextReaderMoveToAttributeNo()
2661 if (reader->node == NULL) in xmlTextReaderMoveToAttributeNo()
2664 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderMoveToAttributeNo()
2667 reader->curnode = NULL; in xmlTextReaderMoveToAttributeNo()
2669 ns = reader->node->nsDef; in xmlTextReaderMoveToAttributeNo()
2674 reader->curnode = (xmlNodePtr) ns; in xmlTextReaderMoveToAttributeNo()
2678 cur = reader->node->properties; in xmlTextReaderMoveToAttributeNo()
2688 reader->curnode = (xmlNodePtr) cur; in xmlTextReaderMoveToAttributeNo()
2703 xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader, const xmlChar *name) { in xmlTextReaderMoveToAttribute() argument
2709 if ((reader == NULL) || (name == NULL)) in xmlTextReaderMoveToAttribute()
2711 if (reader->node == NULL) in xmlTextReaderMoveToAttribute()
2715 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderMoveToAttribute()
2724 ns = reader->node->nsDef; in xmlTextReaderMoveToAttribute()
2727 reader->curnode = (xmlNodePtr) ns; in xmlTextReaderMoveToAttribute()
2735 prop = reader->node->properties; in xmlTextReaderMoveToAttribute()
2744 reader->curnode = (xmlNodePtr) prop; in xmlTextReaderMoveToAttribute()
2756 ns = reader->node->nsDef; in xmlTextReaderMoveToAttribute()
2759 reader->curnode = (xmlNodePtr) ns; in xmlTextReaderMoveToAttribute()
2766 prop = reader->node->properties; in xmlTextReaderMoveToAttribute()
2775 reader->curnode = (xmlNodePtr) prop; in xmlTextReaderMoveToAttribute()
2807 xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader, in xmlTextReaderMoveToAttributeNs() argument
2814 if ((reader == NULL) || (localName == NULL) || (namespaceURI == NULL)) in xmlTextReaderMoveToAttributeNs()
2816 if (reader->node == NULL) in xmlTextReaderMoveToAttributeNs()
2818 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderMoveToAttributeNs()
2820 node = reader->node; in xmlTextReaderMoveToAttributeNs()
2826 ns = reader->node->nsDef; in xmlTextReaderMoveToAttributeNs()
2830 reader->curnode = (xmlNodePtr) ns; in xmlTextReaderMoveToAttributeNs()
2848 reader->curnode = (xmlNodePtr) prop; in xmlTextReaderMoveToAttributeNs()
2866 xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader) { in xmlTextReaderMoveToFirstAttribute() argument
2867 if (reader == NULL) in xmlTextReaderMoveToFirstAttribute()
2869 if (reader->node == NULL) in xmlTextReaderMoveToFirstAttribute()
2871 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderMoveToFirstAttribute()
2874 if (reader->node->nsDef != NULL) { in xmlTextReaderMoveToFirstAttribute()
2875 reader->curnode = (xmlNodePtr) reader->node->nsDef; in xmlTextReaderMoveToFirstAttribute()
2878 if (reader->node->properties != NULL) { in xmlTextReaderMoveToFirstAttribute()
2879 reader->curnode = (xmlNodePtr) reader->node->properties; in xmlTextReaderMoveToFirstAttribute()
2895 xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader) { in xmlTextReaderMoveToNextAttribute() argument
2896 if (reader == NULL) in xmlTextReaderMoveToNextAttribute()
2898 if (reader->node == NULL) in xmlTextReaderMoveToNextAttribute()
2900 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderMoveToNextAttribute()
2902 if (reader->curnode == NULL) in xmlTextReaderMoveToNextAttribute()
2903 return(xmlTextReaderMoveToFirstAttribute(reader)); in xmlTextReaderMoveToNextAttribute()
2905 if (reader->curnode->type == XML_NAMESPACE_DECL) { in xmlTextReaderMoveToNextAttribute()
2906 xmlNsPtr ns = (xmlNsPtr) reader->curnode; in xmlTextReaderMoveToNextAttribute()
2908 reader->curnode = (xmlNodePtr) ns->next; in xmlTextReaderMoveToNextAttribute()
2911 if (reader->node->properties != NULL) { in xmlTextReaderMoveToNextAttribute()
2912 reader->curnode = (xmlNodePtr) reader->node->properties; in xmlTextReaderMoveToNextAttribute()
2916 } else if ((reader->curnode->type == XML_ATTRIBUTE_NODE) && in xmlTextReaderMoveToNextAttribute()
2917 (reader->curnode->next != NULL)) { in xmlTextReaderMoveToNextAttribute()
2918 reader->curnode = reader->curnode->next; in xmlTextReaderMoveToNextAttribute()
2934 xmlTextReaderMoveToElement(xmlTextReaderPtr reader) { in xmlTextReaderMoveToElement() argument
2935 if (reader == NULL) in xmlTextReaderMoveToElement()
2937 if (reader->node == NULL) in xmlTextReaderMoveToElement()
2939 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderMoveToElement()
2941 if (reader->curnode != NULL) { in xmlTextReaderMoveToElement()
2942 reader->curnode = NULL; in xmlTextReaderMoveToElement()
2959 xmlTextReaderReadAttributeValue(xmlTextReaderPtr reader) { in xmlTextReaderReadAttributeValue() argument
2960 if (reader == NULL) in xmlTextReaderReadAttributeValue()
2962 if (reader->node == NULL) in xmlTextReaderReadAttributeValue()
2964 if (reader->curnode == NULL) in xmlTextReaderReadAttributeValue()
2966 if (reader->curnode->type == XML_ATTRIBUTE_NODE) { in xmlTextReaderReadAttributeValue()
2967 if (reader->curnode->children == NULL) in xmlTextReaderReadAttributeValue()
2969 reader->curnode = reader->curnode->children; in xmlTextReaderReadAttributeValue()
2970 } else if (reader->curnode->type == XML_NAMESPACE_DECL) { in xmlTextReaderReadAttributeValue()
2971 xmlNsPtr ns = (xmlNsPtr) reader->curnode; in xmlTextReaderReadAttributeValue()
2973 if (reader->faketext == NULL) { in xmlTextReaderReadAttributeValue()
2974 reader->faketext = xmlNewDocText(reader->node->doc, in xmlTextReaderReadAttributeValue()
2977 if ((reader->faketext->content != NULL) && in xmlTextReaderReadAttributeValue()
2978 (reader->faketext->content != in xmlTextReaderReadAttributeValue()
2979 (xmlChar *) &(reader->faketext->properties))) in xmlTextReaderReadAttributeValue()
2980 xmlFree(reader->faketext->content); in xmlTextReaderReadAttributeValue()
2981 reader->faketext->content = xmlStrdup(ns->href); in xmlTextReaderReadAttributeValue()
2983 reader->curnode = reader->faketext; in xmlTextReaderReadAttributeValue()
2985 if (reader->curnode->next == NULL) in xmlTextReaderReadAttributeValue()
2987 reader->curnode = reader->curnode->next; in xmlTextReaderReadAttributeValue()
3002 xmlTextReaderConstEncoding(xmlTextReaderPtr reader) { in xmlTextReaderConstEncoding() argument
3004 if (reader == NULL) in xmlTextReaderConstEncoding()
3006 if (reader->doc != NULL) in xmlTextReaderConstEncoding()
3007 doc = reader->doc; in xmlTextReaderConstEncoding()
3008 else if (reader->ctxt != NULL) in xmlTextReaderConstEncoding()
3009 doc = reader->ctxt->myDoc; in xmlTextReaderConstEncoding()
3034 xmlTextReaderAttributeCount(xmlTextReaderPtr reader) { in xmlTextReaderAttributeCount() argument
3040 if (reader == NULL) in xmlTextReaderAttributeCount()
3042 if (reader->node == NULL) in xmlTextReaderAttributeCount()
3045 if (reader->curnode != NULL) in xmlTextReaderAttributeCount()
3046 node = reader->curnode; in xmlTextReaderAttributeCount()
3048 node = reader->node; in xmlTextReaderAttributeCount()
3052 if ((reader->state == XML_TEXTREADER_END) || in xmlTextReaderAttributeCount()
3053 (reader->state == XML_TEXTREADER_BACKTRACK)) in xmlTextReaderAttributeCount()
3080 xmlTextReaderNodeType(xmlTextReaderPtr reader) { in xmlTextReaderNodeType() argument
3083 if (reader == NULL) in xmlTextReaderNodeType()
3085 if (reader->node == NULL) in xmlTextReaderNodeType()
3087 if (reader->curnode != NULL) in xmlTextReaderNodeType()
3088 node = reader->curnode; in xmlTextReaderNodeType()
3090 node = reader->node; in xmlTextReaderNodeType()
3093 if ((reader->state == XML_TEXTREADER_END) || in xmlTextReaderNodeType()
3094 (reader->state == XML_TEXTREADER_BACKTRACK)) in xmlTextReaderNodeType()
3101 if (xmlIsBlankNode(reader->node)) { in xmlTextReaderNodeType()
3102 if (xmlNodeGetSpacePreserve(reader->node)) in xmlTextReaderNodeType()
3152 xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader) { in xmlTextReaderIsEmptyElement() argument
3153 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderIsEmptyElement()
3155 if (reader->node->type != XML_ELEMENT_NODE) in xmlTextReaderIsEmptyElement()
3157 if (reader->curnode != NULL) in xmlTextReaderIsEmptyElement()
3159 if (reader->node->children != NULL) in xmlTextReaderIsEmptyElement()
3161 if (reader->state == XML_TEXTREADER_END) in xmlTextReaderIsEmptyElement()
3163 if (reader->doc != NULL) in xmlTextReaderIsEmptyElement()
3166 if (reader->in_xinclude > 0) in xmlTextReaderIsEmptyElement()
3169 return((reader->node->extra & NODE_IS_EMPTY) != 0); in xmlTextReaderIsEmptyElement()
3182 xmlTextReaderLocalName(xmlTextReaderPtr reader) { in xmlTextReaderLocalName() argument
3184 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderLocalName()
3186 if (reader->curnode != NULL) in xmlTextReaderLocalName()
3187 node = reader->curnode; in xmlTextReaderLocalName()
3189 node = reader->node; in xmlTextReaderLocalName()
3199 return(xmlTextReaderName(reader)); in xmlTextReaderLocalName()
3213 xmlTextReaderConstLocalName(xmlTextReaderPtr reader) { in xmlTextReaderConstLocalName() argument
3215 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderConstLocalName()
3217 if (reader->curnode != NULL) in xmlTextReaderConstLocalName()
3218 node = reader->curnode; in xmlTextReaderConstLocalName()
3220 node = reader->node; in xmlTextReaderConstLocalName()
3230 return(xmlTextReaderConstName(reader)); in xmlTextReaderConstLocalName()
3244 xmlTextReaderName(xmlTextReaderPtr reader) { in xmlTextReaderName() argument
3248 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderName()
3250 if (reader->curnode != NULL) in xmlTextReaderName()
3251 node = reader->curnode; in xmlTextReaderName()
3253 node = reader->node; in xmlTextReaderName()
3320 xmlTextReaderConstName(xmlTextReaderPtr reader) { in xmlTextReaderConstName() argument
3323 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderConstName()
3325 if (reader->curnode != NULL) in xmlTextReaderConstName()
3326 node = reader->curnode; in xmlTextReaderConstName()
3328 node = reader->node; in xmlTextReaderConstName()
3388 xmlTextReaderPrefix(xmlTextReaderPtr reader) { in xmlTextReaderPrefix() argument
3390 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderPrefix()
3392 if (reader->curnode != NULL) in xmlTextReaderPrefix()
3393 node = reader->curnode; in xmlTextReaderPrefix()
3395 node = reader->node; in xmlTextReaderPrefix()
3420 xmlTextReaderConstPrefix(xmlTextReaderPtr reader) { in xmlTextReaderConstPrefix() argument
3422 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderConstPrefix()
3424 if (reader->curnode != NULL) in xmlTextReaderConstPrefix()
3425 node = reader->curnode; in xmlTextReaderConstPrefix()
3427 node = reader->node; in xmlTextReaderConstPrefix()
3452 xmlTextReaderNamespaceUri(xmlTextReaderPtr reader) { in xmlTextReaderNamespaceUri() argument
3454 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderNamespaceUri()
3456 if (reader->curnode != NULL) in xmlTextReaderNamespaceUri()
3457 node = reader->curnode; in xmlTextReaderNamespaceUri()
3459 node = reader->node; in xmlTextReaderNamespaceUri()
3480 xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader) { in xmlTextReaderConstNamespaceUri() argument
3482 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderConstNamespaceUri()
3484 if (reader->curnode != NULL) in xmlTextReaderConstNamespaceUri()
3485 node = reader->curnode; in xmlTextReaderConstNamespaceUri()
3487 node = reader->node; in xmlTextReaderConstNamespaceUri()
3508 xmlTextReaderBaseUri(xmlTextReaderPtr reader) { in xmlTextReaderBaseUri() argument
3509 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderBaseUri()
3511 return(xmlNodeGetBase(NULL, reader->node)); in xmlTextReaderBaseUri()
3524 xmlTextReaderConstBaseUri(xmlTextReaderPtr reader) { in xmlTextReaderConstBaseUri() argument
3528 if ((reader == NULL) || (reader->node == NULL)) in xmlTextReaderConstBaseUri()
3530 tmp = xmlNodeGetBase(NULL, reader->node); in xmlTextReaderConstBaseUri()
3547 xmlTextReaderDepth(xmlTextReaderPtr reader) { in xmlTextReaderDepth() argument
3548 if (reader == NULL) in xmlTextReaderDepth()
3550 if (reader->node == NULL) in xmlTextReaderDepth()
3553 if (reader->curnode != NULL) { in xmlTextReaderDepth()
3554 if ((reader->curnode->type == XML_ATTRIBUTE_NODE) || in xmlTextReaderDepth()
3555 (reader->curnode->type == XML_NAMESPACE_DECL)) in xmlTextReaderDepth()
3556 return(reader->depth + 1); in xmlTextReaderDepth()
3557 return(reader->depth + 2); in xmlTextReaderDepth()
3559 return(reader->depth); in xmlTextReaderDepth()
3571 xmlTextReaderHasAttributes(xmlTextReaderPtr reader) { in xmlTextReaderHasAttributes() argument
3573 if (reader == NULL) in xmlTextReaderHasAttributes()
3575 if (reader->node == NULL) in xmlTextReaderHasAttributes()
3577 if (reader->curnode != NULL) in xmlTextReaderHasAttributes()
3578 node = reader->curnode; in xmlTextReaderHasAttributes()
3580 node = reader->node; in xmlTextReaderHasAttributes()
3598 xmlTextReaderHasValue(xmlTextReaderPtr reader) { in xmlTextReaderHasValue() argument
3600 if (reader == NULL) in xmlTextReaderHasValue()
3602 if (reader->node == NULL) in xmlTextReaderHasValue()
3604 if (reader->curnode != NULL) in xmlTextReaderHasValue()
3605 node = reader->curnode; in xmlTextReaderHasValue()
3607 node = reader->node; in xmlTextReaderHasValue()
3633 xmlTextReaderValue(xmlTextReaderPtr reader) { in xmlTextReaderValue() argument
3635 if (reader == NULL) in xmlTextReaderValue()
3637 if (reader->node == NULL) in xmlTextReaderValue()
3639 if (reader->curnode != NULL) in xmlTextReaderValue()
3640 node = reader->curnode; in xmlTextReaderValue()
3642 node = reader->node; in xmlTextReaderValue()
3679 xmlTextReaderConstValue(xmlTextReaderPtr reader) { in xmlTextReaderConstValue() argument
3681 if (reader == NULL) in xmlTextReaderConstValue()
3683 if (reader->node == NULL) in xmlTextReaderConstValue()
3685 if (reader->curnode != NULL) in xmlTextReaderConstValue()
3686 node = reader->curnode; in xmlTextReaderConstValue()
3688 node = reader->node; in xmlTextReaderConstValue()
3702 if (reader->buffer == NULL) { in xmlTextReaderConstValue()
3703 reader->buffer = xmlBufCreateSize(100); in xmlTextReaderConstValue()
3704 if (reader->buffer == NULL) { in xmlTextReaderConstValue()
3709 xmlBufSetAllocationScheme(reader->buffer, in xmlTextReaderConstValue()
3712 xmlBufEmpty(reader->buffer); in xmlTextReaderConstValue()
3713 xmlBufGetNodeContent(reader->buffer, node); in xmlTextReaderConstValue()
3714 ret = xmlBufContent(reader->buffer); in xmlTextReaderConstValue()
3717 xmlBufFree(reader->buffer); in xmlTextReaderConstValue()
3718 reader->buffer = xmlBufCreateSize(100); in xmlTextReaderConstValue()
3719 xmlBufSetAllocationScheme(reader->buffer, in xmlTextReaderConstValue()
3748 xmlTextReaderIsDefault(xmlTextReaderPtr reader) { in xmlTextReaderIsDefault() argument
3749 if (reader == NULL) in xmlTextReaderIsDefault()
3763 xmlTextReaderQuoteChar(xmlTextReaderPtr reader) { in xmlTextReaderQuoteChar() argument
3764 if (reader == NULL) in xmlTextReaderQuoteChar()
3780 xmlTextReaderXmlLang(xmlTextReaderPtr reader) { in xmlTextReaderXmlLang() argument
3781 if (reader == NULL) in xmlTextReaderXmlLang()
3783 if (reader->node == NULL) in xmlTextReaderXmlLang()
3785 return(xmlNodeGetLang(reader->node)); in xmlTextReaderXmlLang()
3797 xmlTextReaderConstXmlLang(xmlTextReaderPtr reader) { in xmlTextReaderConstXmlLang() argument
3801 if (reader == NULL) in xmlTextReaderConstXmlLang()
3803 if (reader->node == NULL) in xmlTextReaderConstXmlLang()
3805 tmp = xmlNodeGetLang(reader->node); in xmlTextReaderConstXmlLang()
3825 xmlTextReaderConstString(xmlTextReaderPtr reader, const xmlChar *str) { in xmlTextReaderConstString() argument
3826 if (reader == NULL) in xmlTextReaderConstString()
3844 xmlTextReaderNormalization(xmlTextReaderPtr reader) { in xmlTextReaderNormalization() argument
3845 if (reader == NULL) in xmlTextReaderNormalization()
3869 xmlTextReaderSetParserProp(xmlTextReaderPtr reader, int prop, int value) { in xmlTextReaderSetParserProp() argument
3873 if ((reader == NULL) || (reader->ctxt == NULL)) in xmlTextReaderSetParserProp()
3875 ctxt = reader->ctxt; in xmlTextReaderSetParserProp()
3881 if (reader->mode != XML_TEXTREADER_MODE_INITIAL) in xmlTextReaderSetParserProp()
3901 reader->validate = XML_TEXTREADER_VALIDATE_DTD; in xmlTextReaderSetParserProp()
3930 xmlTextReaderGetParserProp(xmlTextReaderPtr reader, int prop) { in xmlTextReaderGetParserProp() argument
3934 if ((reader == NULL) || (reader->ctxt == NULL)) in xmlTextReaderGetParserProp()
3936 ctxt = reader->ctxt; in xmlTextReaderGetParserProp()
3948 return(reader->validate); in xmlTextReaderGetParserProp()
3965 xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader) in xmlTextReaderGetParserLineNumber() argument
3967 if ((reader == NULL) || (reader->ctxt == NULL) || in xmlTextReaderGetParserLineNumber()
3968 (reader->ctxt->input == NULL)) { in xmlTextReaderGetParserLineNumber()
3971 return (reader->ctxt->input->line); in xmlTextReaderGetParserLineNumber()
3983 xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader) in xmlTextReaderGetParserColumnNumber() argument
3985 if ((reader == NULL) || (reader->ctxt == NULL) || in xmlTextReaderGetParserColumnNumber()
3986 (reader->ctxt->input == NULL)) { in xmlTextReaderGetParserColumnNumber()
3989 return (reader->ctxt->input->col); in xmlTextReaderGetParserColumnNumber()
4003 xmlTextReaderCurrentNode(xmlTextReaderPtr reader) { in xmlTextReaderCurrentNode() argument
4004 if (reader == NULL) in xmlTextReaderCurrentNode()
4007 if (reader->curnode != NULL) in xmlTextReaderCurrentNode()
4008 return(reader->curnode); in xmlTextReaderCurrentNode()
4009 return(reader->node); in xmlTextReaderCurrentNode()
4023 xmlTextReaderPreserve(xmlTextReaderPtr reader) { in xmlTextReaderPreserve() argument
4026 if (reader == NULL) in xmlTextReaderPreserve()
4029 if (reader->curnode != NULL) in xmlTextReaderPreserve()
4030 cur = reader->curnode; in xmlTextReaderPreserve()
4032 cur = reader->node; in xmlTextReaderPreserve()
4040 reader->preserves++; in xmlTextReaderPreserve()
4065 xmlTextReaderPreservePattern(xmlTextReaderPtr reader, const xmlChar *pattern, in xmlTextReaderPreservePattern() argument
4070 if ((reader == NULL) || (pattern == NULL)) in xmlTextReaderPreservePattern()
4073 comp = xmlPatterncompile(pattern, reader->dict, 0, namespaces); in xmlTextReaderPreservePattern()
4077 if (reader->patternMax <= 0) { in xmlTextReaderPreservePattern()
4078 reader->patternMax = 4; in xmlTextReaderPreservePattern()
4079 reader->patternTab = (xmlPatternPtr *) xmlMalloc(reader->patternMax * in xmlTextReaderPreservePattern()
4080 sizeof(reader->patternTab[0])); in xmlTextReaderPreservePattern()
4081 if (reader->patternTab == NULL) { in xmlTextReaderPreservePattern()
4086 if (reader->patternNr >= reader->patternMax) { in xmlTextReaderPreservePattern()
4088 reader->patternMax *= 2; in xmlTextReaderPreservePattern()
4089 tmp = (xmlPatternPtr *) xmlRealloc(reader->patternTab, in xmlTextReaderPreservePattern()
4090 reader->patternMax * in xmlTextReaderPreservePattern()
4091 sizeof(reader->patternTab[0])); in xmlTextReaderPreservePattern()
4094 reader->patternMax /= 2; in xmlTextReaderPreservePattern()
4097 reader->patternTab = tmp; in xmlTextReaderPreservePattern()
4099 reader->patternTab[reader->patternNr] = comp; in xmlTextReaderPreservePattern()
4100 return(reader->patternNr++); in xmlTextReaderPreservePattern()
4117 xmlTextReaderCurrentDoc(xmlTextReaderPtr reader) { in xmlTextReaderCurrentDoc() argument
4118 if (reader == NULL) in xmlTextReaderCurrentDoc()
4120 if (reader->doc != NULL) in xmlTextReaderCurrentDoc()
4121 return(reader->doc); in xmlTextReaderCurrentDoc()
4122 if ((reader->ctxt == NULL) || (reader->ctxt->myDoc == NULL)) in xmlTextReaderCurrentDoc()
4125 reader->preserve = 1; in xmlTextReaderCurrentDoc()
4126 return(reader->ctxt->myDoc); in xmlTextReaderCurrentDoc()
4147 xmlTextReaderPtr reader = (xmlTextReaderPtr) ctx; in xmlTextReaderValidityErrorRelay() local
4155 if (!reader->errorFunc) { in xmlTextReaderValidityErrorRelay()
4158 reader->errorFunc(reader->errorFuncArg, str, in xmlTextReaderValidityErrorRelay()
4170 xmlTextReaderPtr reader = (xmlTextReaderPtr) ctx; in xmlTextReaderValidityWarningRelay() local
4178 if (!reader->errorFunc) { in xmlTextReaderValidityWarningRelay()
4181 reader->errorFunc(reader->errorFuncArg, str, in xmlTextReaderValidityWarningRelay()
4196 xmlTextReaderPtr reader = (xmlTextReaderPtr) userData; in xmlTextReaderValidityStructuredRelay() local
4198 if (reader->sErrorFunc) { in xmlTextReaderValidityStructuredRelay()
4199 reader->sErrorFunc(reader->errorFuncArg, error); in xmlTextReaderValidityStructuredRelay()
4201 xmlTextReaderStructuredError(reader, error); in xmlTextReaderValidityStructuredRelay()
4219 xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader, xmlRelaxNGPtr schema) { in xmlTextReaderRelaxNGSetSchema() argument
4220 if (reader == NULL) in xmlTextReaderRelaxNGSetSchema()
4223 if (reader->rngSchemas != NULL) { in xmlTextReaderRelaxNGSetSchema()
4224 xmlRelaxNGFree(reader->rngSchemas); in xmlTextReaderRelaxNGSetSchema()
4225 reader->rngSchemas = NULL; in xmlTextReaderRelaxNGSetSchema()
4227 if (reader->rngValidCtxt != NULL) { in xmlTextReaderRelaxNGSetSchema()
4228 if (! reader->rngPreserveCtxt) in xmlTextReaderRelaxNGSetSchema()
4229 xmlRelaxNGFreeValidCtxt(reader->rngValidCtxt); in xmlTextReaderRelaxNGSetSchema()
4230 reader->rngValidCtxt = NULL; in xmlTextReaderRelaxNGSetSchema()
4232 reader->rngPreserveCtxt = 0; in xmlTextReaderRelaxNGSetSchema()
4235 if (reader->mode != XML_TEXTREADER_MODE_INITIAL) in xmlTextReaderRelaxNGSetSchema()
4237 if (reader->rngSchemas != NULL) { in xmlTextReaderRelaxNGSetSchema()
4238 xmlRelaxNGFree(reader->rngSchemas); in xmlTextReaderRelaxNGSetSchema()
4239 reader->rngSchemas = NULL; in xmlTextReaderRelaxNGSetSchema()
4241 if (reader->rngValidCtxt != NULL) { in xmlTextReaderRelaxNGSetSchema()
4242 if (! reader->rngPreserveCtxt) in xmlTextReaderRelaxNGSetSchema()
4243 xmlRelaxNGFreeValidCtxt(reader->rngValidCtxt); in xmlTextReaderRelaxNGSetSchema()
4244 reader->rngValidCtxt = NULL; in xmlTextReaderRelaxNGSetSchema()
4246 reader->rngPreserveCtxt = 0; in xmlTextReaderRelaxNGSetSchema()
4247 reader->rngValidCtxt = xmlRelaxNGNewValidCtxt(schema); in xmlTextReaderRelaxNGSetSchema()
4248 if (reader->rngValidCtxt == NULL) in xmlTextReaderRelaxNGSetSchema()
4250 if (reader->errorFunc != NULL) { in xmlTextReaderRelaxNGSetSchema()
4251 xmlRelaxNGSetValidErrors(reader->rngValidCtxt, in xmlTextReaderRelaxNGSetSchema()
4254 reader); in xmlTextReaderRelaxNGSetSchema()
4256 if (reader->sErrorFunc != NULL) { in xmlTextReaderRelaxNGSetSchema()
4257 xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, in xmlTextReaderRelaxNGSetSchema()
4259 reader); in xmlTextReaderRelaxNGSetSchema()
4261 reader->rngValidErrors = 0; in xmlTextReaderRelaxNGSetSchema()
4262 reader->rngFullNode = NULL; in xmlTextReaderRelaxNGSetSchema()
4263 reader->validate = XML_TEXTREADER_VALIDATE_RNG; in xmlTextReaderRelaxNGSetSchema()
4280 xmlTextReaderPtr reader; in xmlTextReaderLocator() local
4290 reader = (xmlTextReaderPtr) ctx; in xmlTextReaderLocator()
4291 if ((reader->ctxt != NULL) && (reader->ctxt->input != NULL)) { in xmlTextReaderLocator()
4293 *file = reader->ctxt->input->filename; in xmlTextReaderLocator()
4295 *line = reader->ctxt->input->line; in xmlTextReaderLocator()
4298 if (reader->node != NULL) { in xmlTextReaderLocator()
4303 res = xmlGetLineNo(reader->node); in xmlTextReaderLocator()
4310 xmlDocPtr doc = reader->node->doc; in xmlTextReaderLocator()
4336 xmlTextReaderSetSchema(xmlTextReaderPtr reader, xmlSchemaPtr schema) { in xmlTextReaderSetSchema() argument
4337 if (reader == NULL) in xmlTextReaderSetSchema()
4340 if (reader->xsdPlug != NULL) { in xmlTextReaderSetSchema()
4341 xmlSchemaSAXUnplug(reader->xsdPlug); in xmlTextReaderSetSchema()
4342 reader->xsdPlug = NULL; in xmlTextReaderSetSchema()
4344 if (reader->xsdValidCtxt != NULL) { in xmlTextReaderSetSchema()
4345 if (! reader->xsdPreserveCtxt) in xmlTextReaderSetSchema()
4346 xmlSchemaFreeValidCtxt(reader->xsdValidCtxt); in xmlTextReaderSetSchema()
4347 reader->xsdValidCtxt = NULL; in xmlTextReaderSetSchema()
4349 reader->xsdPreserveCtxt = 0; in xmlTextReaderSetSchema()
4350 if (reader->xsdSchemas != NULL) { in xmlTextReaderSetSchema()
4351 xmlSchemaFree(reader->xsdSchemas); in xmlTextReaderSetSchema()
4352 reader->xsdSchemas = NULL; in xmlTextReaderSetSchema()
4356 if (reader->mode != XML_TEXTREADER_MODE_INITIAL) in xmlTextReaderSetSchema()
4358 if (reader->xsdPlug != NULL) { in xmlTextReaderSetSchema()
4359 xmlSchemaSAXUnplug(reader->xsdPlug); in xmlTextReaderSetSchema()
4360 reader->xsdPlug = NULL; in xmlTextReaderSetSchema()
4362 if (reader->xsdValidCtxt != NULL) { in xmlTextReaderSetSchema()
4363 if (! reader->xsdPreserveCtxt) in xmlTextReaderSetSchema()
4364 xmlSchemaFreeValidCtxt(reader->xsdValidCtxt); in xmlTextReaderSetSchema()
4365 reader->xsdValidCtxt = NULL; in xmlTextReaderSetSchema()
4367 reader->xsdPreserveCtxt = 0; in xmlTextReaderSetSchema()
4368 if (reader->xsdSchemas != NULL) { in xmlTextReaderSetSchema()
4369 xmlSchemaFree(reader->xsdSchemas); in xmlTextReaderSetSchema()
4370 reader->xsdSchemas = NULL; in xmlTextReaderSetSchema()
4372 reader->xsdValidCtxt = xmlSchemaNewValidCtxt(schema); in xmlTextReaderSetSchema()
4373 if (reader->xsdValidCtxt == NULL) { in xmlTextReaderSetSchema()
4374 xmlSchemaFree(reader->xsdSchemas); in xmlTextReaderSetSchema()
4375 reader->xsdSchemas = NULL; in xmlTextReaderSetSchema()
4378 reader->xsdPlug = xmlSchemaSAXPlug(reader->xsdValidCtxt, in xmlTextReaderSetSchema()
4379 &(reader->ctxt->sax), in xmlTextReaderSetSchema()
4380 &(reader->ctxt->userData)); in xmlTextReaderSetSchema()
4381 if (reader->xsdPlug == NULL) { in xmlTextReaderSetSchema()
4382 xmlSchemaFree(reader->xsdSchemas); in xmlTextReaderSetSchema()
4383 reader->xsdSchemas = NULL; in xmlTextReaderSetSchema()
4384 xmlSchemaFreeValidCtxt(reader->xsdValidCtxt); in xmlTextReaderSetSchema()
4385 reader->xsdValidCtxt = NULL; in xmlTextReaderSetSchema()
4388 xmlSchemaValidateSetLocator(reader->xsdValidCtxt, in xmlTextReaderSetSchema()
4390 (void *) reader); in xmlTextReaderSetSchema()
4392 if (reader->errorFunc != NULL) { in xmlTextReaderSetSchema()
4393 xmlSchemaSetValidErrors(reader->xsdValidCtxt, in xmlTextReaderSetSchema()
4396 reader); in xmlTextReaderSetSchema()
4398 if (reader->sErrorFunc != NULL) { in xmlTextReaderSetSchema()
4399 xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt, in xmlTextReaderSetSchema()
4401 reader); in xmlTextReaderSetSchema()
4403 reader->xsdValidErrors = 0; in xmlTextReaderSetSchema()
4404 reader->validate = XML_TEXTREADER_VALIDATE_XSD; in xmlTextReaderSetSchema()
4423 xmlTextReaderRelaxNGValidateInternal(xmlTextReaderPtr reader, in xmlTextReaderRelaxNGValidateInternal() argument
4428 if (reader == NULL) in xmlTextReaderRelaxNGValidateInternal()
4435 ((reader->mode != XML_TEXTREADER_MODE_INITIAL) || in xmlTextReaderRelaxNGValidateInternal()
4436 (reader->ctxt == NULL))) in xmlTextReaderRelaxNGValidateInternal()
4440 if (reader->rngValidCtxt != NULL) { in xmlTextReaderRelaxNGValidateInternal()
4441 if ( !reader->rngPreserveCtxt) in xmlTextReaderRelaxNGValidateInternal()
4442 xmlRelaxNGFreeValidCtxt(reader->rngValidCtxt); in xmlTextReaderRelaxNGValidateInternal()
4443 reader->rngValidCtxt = NULL; in xmlTextReaderRelaxNGValidateInternal()
4445 reader->rngPreserveCtxt = 0; in xmlTextReaderRelaxNGValidateInternal()
4446 if (reader->rngSchemas != NULL) { in xmlTextReaderRelaxNGValidateInternal()
4447 xmlRelaxNGFree(reader->rngSchemas); in xmlTextReaderRelaxNGValidateInternal()
4448 reader->rngSchemas = NULL; in xmlTextReaderRelaxNGValidateInternal()
4462 if (reader->errorFunc != NULL) { in xmlTextReaderRelaxNGValidateInternal()
4466 reader); in xmlTextReaderRelaxNGValidateInternal()
4468 if (reader->sErrorFunc != NULL) { in xmlTextReaderRelaxNGValidateInternal()
4469 xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, in xmlTextReaderRelaxNGValidateInternal()
4471 reader); in xmlTextReaderRelaxNGValidateInternal()
4473 reader->rngSchemas = xmlRelaxNGParse(pctxt); in xmlTextReaderRelaxNGValidateInternal()
4475 if (reader->rngSchemas == NULL) in xmlTextReaderRelaxNGValidateInternal()
4477 reader->rngValidCtxt = xmlRelaxNGNewValidCtxt(reader->rngSchemas); in xmlTextReaderRelaxNGValidateInternal()
4478 if (reader->rngValidCtxt == NULL) { in xmlTextReaderRelaxNGValidateInternal()
4479 xmlRelaxNGFree(reader->rngSchemas); in xmlTextReaderRelaxNGValidateInternal()
4480 reader->rngSchemas = NULL; in xmlTextReaderRelaxNGValidateInternal()
4485 reader->rngValidCtxt = ctxt; in xmlTextReaderRelaxNGValidateInternal()
4486 reader->rngPreserveCtxt = 1; in xmlTextReaderRelaxNGValidateInternal()
4494 if (reader->errorFunc != NULL) { in xmlTextReaderRelaxNGValidateInternal()
4495 xmlRelaxNGSetValidErrors(reader->rngValidCtxt, in xmlTextReaderRelaxNGValidateInternal()
4498 reader); in xmlTextReaderRelaxNGValidateInternal()
4500 if (reader->sErrorFunc != NULL) { in xmlTextReaderRelaxNGValidateInternal()
4501 xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, in xmlTextReaderRelaxNGValidateInternal()
4503 reader); in xmlTextReaderRelaxNGValidateInternal()
4505 reader->rngValidErrors = 0; in xmlTextReaderRelaxNGValidateInternal()
4506 reader->rngFullNode = NULL; in xmlTextReaderRelaxNGValidateInternal()
4507 reader->validate = XML_TEXTREADER_VALIDATE_RNG; in xmlTextReaderRelaxNGValidateInternal()
4526 xmlTextReaderSchemaValidateInternal(xmlTextReaderPtr reader, in xmlTextReaderSchemaValidateInternal() argument
4531 if (reader == NULL) in xmlTextReaderSchemaValidateInternal()
4538 ((reader->mode != XML_TEXTREADER_MODE_INITIAL) || in xmlTextReaderSchemaValidateInternal()
4539 (reader->ctxt == NULL))) in xmlTextReaderSchemaValidateInternal()
4543 if (reader->xsdPlug != NULL) { in xmlTextReaderSchemaValidateInternal()
4544 xmlSchemaSAXUnplug(reader->xsdPlug); in xmlTextReaderSchemaValidateInternal()
4545 reader->xsdPlug = NULL; in xmlTextReaderSchemaValidateInternal()
4547 if (reader->xsdValidCtxt != NULL) { in xmlTextReaderSchemaValidateInternal()
4548 if (! reader->xsdPreserveCtxt) in xmlTextReaderSchemaValidateInternal()
4549 xmlSchemaFreeValidCtxt(reader->xsdValidCtxt); in xmlTextReaderSchemaValidateInternal()
4550 reader->xsdValidCtxt = NULL; in xmlTextReaderSchemaValidateInternal()
4552 reader->xsdPreserveCtxt = 0; in xmlTextReaderSchemaValidateInternal()
4553 if (reader->xsdSchemas != NULL) { in xmlTextReaderSchemaValidateInternal()
4554 xmlSchemaFree(reader->xsdSchemas); in xmlTextReaderSchemaValidateInternal()
4555 reader->xsdSchemas = NULL; in xmlTextReaderSchemaValidateInternal()
4567 if (reader->errorFunc != NULL) { in xmlTextReaderSchemaValidateInternal()
4571 reader); in xmlTextReaderSchemaValidateInternal()
4573 reader->xsdSchemas = xmlSchemaParse(pctxt); in xmlTextReaderSchemaValidateInternal()
4575 if (reader->xsdSchemas == NULL) in xmlTextReaderSchemaValidateInternal()
4577 reader->xsdValidCtxt = xmlSchemaNewValidCtxt(reader->xsdSchemas); in xmlTextReaderSchemaValidateInternal()
4578 if (reader->xsdValidCtxt == NULL) { in xmlTextReaderSchemaValidateInternal()
4579 xmlSchemaFree(reader->xsdSchemas); in xmlTextReaderSchemaValidateInternal()
4580 reader->xsdSchemas = NULL; in xmlTextReaderSchemaValidateInternal()
4583 reader->xsdPlug = xmlSchemaSAXPlug(reader->xsdValidCtxt, in xmlTextReaderSchemaValidateInternal()
4584 &(reader->ctxt->sax), in xmlTextReaderSchemaValidateInternal()
4585 &(reader->ctxt->userData)); in xmlTextReaderSchemaValidateInternal()
4586 if (reader->xsdPlug == NULL) { in xmlTextReaderSchemaValidateInternal()
4587 xmlSchemaFree(reader->xsdSchemas); in xmlTextReaderSchemaValidateInternal()
4588 reader->xsdSchemas = NULL; in xmlTextReaderSchemaValidateInternal()
4589 xmlSchemaFreeValidCtxt(reader->xsdValidCtxt); in xmlTextReaderSchemaValidateInternal()
4590 reader->xsdValidCtxt = NULL; in xmlTextReaderSchemaValidateInternal()
4595 reader->xsdValidCtxt = ctxt; in xmlTextReaderSchemaValidateInternal()
4596 reader->xsdPreserveCtxt = 1; in xmlTextReaderSchemaValidateInternal()
4597 reader->xsdPlug = xmlSchemaSAXPlug(reader->xsdValidCtxt, in xmlTextReaderSchemaValidateInternal()
4598 &(reader->ctxt->sax), in xmlTextReaderSchemaValidateInternal()
4599 &(reader->ctxt->userData)); in xmlTextReaderSchemaValidateInternal()
4600 if (reader->xsdPlug == NULL) { in xmlTextReaderSchemaValidateInternal()
4601 reader->xsdValidCtxt = NULL; in xmlTextReaderSchemaValidateInternal()
4602 reader->xsdPreserveCtxt = 0; in xmlTextReaderSchemaValidateInternal()
4606 xmlSchemaValidateSetLocator(reader->xsdValidCtxt, in xmlTextReaderSchemaValidateInternal()
4608 (void *) reader); in xmlTextReaderSchemaValidateInternal()
4615 if (reader->errorFunc != NULL) { in xmlTextReaderSchemaValidateInternal()
4616 xmlSchemaSetValidErrors(reader->xsdValidCtxt, in xmlTextReaderSchemaValidateInternal()
4619 reader); in xmlTextReaderSchemaValidateInternal()
4621 if (reader->sErrorFunc != NULL) { in xmlTextReaderSchemaValidateInternal()
4622 xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt, in xmlTextReaderSchemaValidateInternal()
4624 reader); in xmlTextReaderSchemaValidateInternal()
4626 reader->xsdValidErrors = 0; in xmlTextReaderSchemaValidateInternal()
4627 reader->validate = XML_TEXTREADER_VALIDATE_XSD; in xmlTextReaderSchemaValidateInternal()
4645 xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader, in xmlTextReaderSchemaValidateCtxt() argument
4649 return(xmlTextReaderSchemaValidateInternal(reader, NULL, ctxt, options)); in xmlTextReaderSchemaValidateCtxt()
4665 xmlTextReaderSchemaValidate(xmlTextReaderPtr reader, const char *xsd) in xmlTextReaderSchemaValidate() argument
4667 return(xmlTextReaderSchemaValidateInternal(reader, xsd, NULL, 0)); in xmlTextReaderSchemaValidate()
4684 xmlTextReaderRelaxNGValidateCtxt(xmlTextReaderPtr reader, in xmlTextReaderRelaxNGValidateCtxt() argument
4688 return(xmlTextReaderRelaxNGValidateInternal(reader, NULL, ctxt, options)); in xmlTextReaderRelaxNGValidateCtxt()
4704 xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader, const char *rng) in xmlTextReaderRelaxNGValidate() argument
4706 return(xmlTextReaderRelaxNGValidateInternal(reader, rng, NULL, 0)); in xmlTextReaderRelaxNGValidate()
4723 xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader) { in xmlTextReaderIsNamespaceDecl() argument
4725 if (reader == NULL) in xmlTextReaderIsNamespaceDecl()
4727 if (reader->node == NULL) in xmlTextReaderIsNamespaceDecl()
4729 if (reader->curnode != NULL) in xmlTextReaderIsNamespaceDecl()
4730 node = reader->curnode; in xmlTextReaderIsNamespaceDecl()
4732 node = reader->node; in xmlTextReaderIsNamespaceDecl()
4750 xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader) { in xmlTextReaderConstXmlVersion() argument
4752 if (reader == NULL) in xmlTextReaderConstXmlVersion()
4754 if (reader->doc != NULL) in xmlTextReaderConstXmlVersion()
4755 doc = reader->doc; in xmlTextReaderConstXmlVersion()
4756 else if (reader->ctxt != NULL) in xmlTextReaderConstXmlVersion()
4757 doc = reader->ctxt->myDoc; in xmlTextReaderConstXmlVersion()
4778 xmlTextReaderStandalone(xmlTextReaderPtr reader) { in xmlTextReaderStandalone() argument
4780 if (reader == NULL) in xmlTextReaderStandalone()
4782 if (reader->doc != NULL) in xmlTextReaderStandalone()
4783 doc = reader->doc; in xmlTextReaderStandalone()
4784 else if (reader->ctxt != NULL) in xmlTextReaderStandalone()
4785 doc = reader->ctxt->myDoc; in xmlTextReaderStandalone()
4914 xmlTextReaderPtr reader = (xmlTextReaderPtr) ctx->_private; in xmlTextReaderGenericError() local
4917 if (reader->errorFunc) in xmlTextReaderGenericError()
4918 reader->errorFunc(reader->errorFuncArg, str, severity, in xmlTextReaderGenericError()
4929 xmlTextReaderPtr reader = (xmlTextReaderPtr) ctx->_private; in xmlTextReaderStructuredError() local
4931 if (error && reader->sErrorFunc) { in xmlTextReaderStructuredError()
4932 reader->sErrorFunc(reader->errorFuncArg, (xmlErrorPtr) error); in xmlTextReaderStructuredError()
5012 xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader, in xmlTextReaderSetErrorHandler() argument
5016 reader->ctxt->sax->error = xmlTextReaderError; in xmlTextReaderSetErrorHandler()
5017 reader->ctxt->sax->serror = NULL; in xmlTextReaderSetErrorHandler()
5018 reader->ctxt->vctxt.error = xmlTextReaderValidityError; in xmlTextReaderSetErrorHandler()
5019 reader->ctxt->sax->warning = xmlTextReaderWarning; in xmlTextReaderSetErrorHandler()
5020 reader->ctxt->vctxt.warning = xmlTextReaderValidityWarning; in xmlTextReaderSetErrorHandler()
5021 reader->errorFunc = f; in xmlTextReaderSetErrorHandler()
5022 reader->sErrorFunc = NULL; in xmlTextReaderSetErrorHandler()
5023 reader->errorFuncArg = arg; in xmlTextReaderSetErrorHandler()
5025 if (reader->rngValidCtxt) { in xmlTextReaderSetErrorHandler()
5026 xmlRelaxNGSetValidErrors(reader->rngValidCtxt, in xmlTextReaderSetErrorHandler()
5029 reader); in xmlTextReaderSetErrorHandler()
5030 xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, NULL, in xmlTextReaderSetErrorHandler()
5031 reader); in xmlTextReaderSetErrorHandler()
5033 if (reader->xsdValidCtxt) { in xmlTextReaderSetErrorHandler()
5034 xmlSchemaSetValidErrors(reader->xsdValidCtxt, in xmlTextReaderSetErrorHandler()
5037 reader); in xmlTextReaderSetErrorHandler()
5038 xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt, NULL, in xmlTextReaderSetErrorHandler()
5039 reader); in xmlTextReaderSetErrorHandler()
5044 reader->ctxt->sax->error = xmlParserError; in xmlTextReaderSetErrorHandler()
5045 reader->ctxt->vctxt.error = xmlParserValidityError; in xmlTextReaderSetErrorHandler()
5046 reader->ctxt->sax->warning = xmlParserWarning; in xmlTextReaderSetErrorHandler()
5047 reader->ctxt->vctxt.warning = xmlParserValidityWarning; in xmlTextReaderSetErrorHandler()
5048 reader->errorFunc = NULL; in xmlTextReaderSetErrorHandler()
5049 reader->sErrorFunc = NULL; in xmlTextReaderSetErrorHandler()
5050 reader->errorFuncArg = NULL; in xmlTextReaderSetErrorHandler()
5052 if (reader->rngValidCtxt) { in xmlTextReaderSetErrorHandler()
5053 xmlRelaxNGSetValidErrors(reader->rngValidCtxt, NULL, NULL, in xmlTextReaderSetErrorHandler()
5054 reader); in xmlTextReaderSetErrorHandler()
5055 xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, NULL, in xmlTextReaderSetErrorHandler()
5056 reader); in xmlTextReaderSetErrorHandler()
5058 if (reader->xsdValidCtxt) { in xmlTextReaderSetErrorHandler()
5059 xmlSchemaSetValidErrors(reader->xsdValidCtxt, NULL, NULL, in xmlTextReaderSetErrorHandler()
5060 reader); in xmlTextReaderSetErrorHandler()
5061 xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt, NULL, in xmlTextReaderSetErrorHandler()
5062 reader); in xmlTextReaderSetErrorHandler()
5079 xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader, in xmlTextReaderSetStructuredErrorHandler() argument
5083 reader->ctxt->sax->error = NULL; in xmlTextReaderSetStructuredErrorHandler()
5084 reader->ctxt->sax->serror = xmlTextReaderStructuredError; in xmlTextReaderSetStructuredErrorHandler()
5085 reader->ctxt->vctxt.error = xmlTextReaderValidityError; in xmlTextReaderSetStructuredErrorHandler()
5086 reader->ctxt->sax->warning = xmlTextReaderWarning; in xmlTextReaderSetStructuredErrorHandler()
5087 reader->ctxt->vctxt.warning = xmlTextReaderValidityWarning; in xmlTextReaderSetStructuredErrorHandler()
5088 reader->sErrorFunc = f; in xmlTextReaderSetStructuredErrorHandler()
5089 reader->errorFunc = NULL; in xmlTextReaderSetStructuredErrorHandler()
5090 reader->errorFuncArg = arg; in xmlTextReaderSetStructuredErrorHandler()
5092 if (reader->rngValidCtxt) { in xmlTextReaderSetStructuredErrorHandler()
5093 xmlRelaxNGSetValidErrors(reader->rngValidCtxt, NULL, NULL, in xmlTextReaderSetStructuredErrorHandler()
5094 reader); in xmlTextReaderSetStructuredErrorHandler()
5095 xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, in xmlTextReaderSetStructuredErrorHandler()
5097 reader); in xmlTextReaderSetStructuredErrorHandler()
5099 if (reader->xsdValidCtxt) { in xmlTextReaderSetStructuredErrorHandler()
5100 xmlSchemaSetValidErrors(reader->xsdValidCtxt, NULL, NULL, in xmlTextReaderSetStructuredErrorHandler()
5101 reader); in xmlTextReaderSetStructuredErrorHandler()
5102 xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt, in xmlTextReaderSetStructuredErrorHandler()
5104 reader); in xmlTextReaderSetStructuredErrorHandler()
5109 reader->ctxt->sax->error = xmlParserError; in xmlTextReaderSetStructuredErrorHandler()
5110 reader->ctxt->sax->serror = NULL; in xmlTextReaderSetStructuredErrorHandler()
5111 reader->ctxt->vctxt.error = xmlParserValidityError; in xmlTextReaderSetStructuredErrorHandler()
5112 reader->ctxt->sax->warning = xmlParserWarning; in xmlTextReaderSetStructuredErrorHandler()
5113 reader->ctxt->vctxt.warning = xmlParserValidityWarning; in xmlTextReaderSetStructuredErrorHandler()
5114 reader->errorFunc = NULL; in xmlTextReaderSetStructuredErrorHandler()
5115 reader->sErrorFunc = NULL; in xmlTextReaderSetStructuredErrorHandler()
5116 reader->errorFuncArg = NULL; in xmlTextReaderSetStructuredErrorHandler()
5118 if (reader->rngValidCtxt) { in xmlTextReaderSetStructuredErrorHandler()
5119 xmlRelaxNGSetValidErrors(reader->rngValidCtxt, NULL, NULL, in xmlTextReaderSetStructuredErrorHandler()
5120 reader); in xmlTextReaderSetStructuredErrorHandler()
5121 xmlRelaxNGSetValidStructuredErrors(reader->rngValidCtxt, NULL, in xmlTextReaderSetStructuredErrorHandler()
5122 reader); in xmlTextReaderSetStructuredErrorHandler()
5124 if (reader->xsdValidCtxt) { in xmlTextReaderSetStructuredErrorHandler()
5125 xmlSchemaSetValidErrors(reader->xsdValidCtxt, NULL, NULL, in xmlTextReaderSetStructuredErrorHandler()
5126 reader); in xmlTextReaderSetStructuredErrorHandler()
5127 xmlSchemaSetValidStructuredErrors(reader->xsdValidCtxt, NULL, in xmlTextReaderSetStructuredErrorHandler()
5128 reader); in xmlTextReaderSetStructuredErrorHandler()
5143 xmlTextReaderIsValid(xmlTextReaderPtr reader) in xmlTextReaderIsValid() argument
5145 if (reader == NULL) in xmlTextReaderIsValid()
5148 if (reader->validate == XML_TEXTREADER_VALIDATE_RNG) in xmlTextReaderIsValid()
5149 return (reader->rngValidErrors == 0); in xmlTextReaderIsValid()
5150 if (reader->validate == XML_TEXTREADER_VALIDATE_XSD) in xmlTextReaderIsValid()
5151 return (reader->xsdValidErrors == 0); in xmlTextReaderIsValid()
5153 if ((reader->ctxt != NULL) && (reader->ctxt->validate == 1)) in xmlTextReaderIsValid()
5154 return (reader->ctxt->valid); in xmlTextReaderIsValid()
5167 xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader, in xmlTextReaderGetErrorHandler() argument
5171 *f = reader->errorFunc; in xmlTextReaderGetErrorHandler()
5173 *arg = reader->errorFuncArg; in xmlTextReaderGetErrorHandler()
5195 xmlTextReaderSetup(xmlTextReaderPtr reader, in xmlTextReaderSetup() argument
5199 if (reader == NULL) { in xmlTextReaderSetup()
5211 reader->doc = NULL; in xmlTextReaderSetup()
5212 reader->entNr = 0; in xmlTextReaderSetup()
5213 reader->parserFlags = options; in xmlTextReaderSetup()
5214 reader->validate = XML_TEXTREADER_NOT_VALIDATE; in xmlTextReaderSetup()
5215 if ((input != NULL) && (reader->input != NULL) && in xmlTextReaderSetup()
5216 (reader->allocs & XML_TEXTREADER_INPUT)) { in xmlTextReaderSetup()
5217 xmlFreeParserInputBuffer(reader->input); in xmlTextReaderSetup()
5218 reader->input = NULL; in xmlTextReaderSetup()
5219 reader->allocs -= XML_TEXTREADER_INPUT; in xmlTextReaderSetup()
5222 reader->input = input; in xmlTextReaderSetup()
5223 reader->allocs |= XML_TEXTREADER_INPUT; in xmlTextReaderSetup()
5225 if (reader->buffer == NULL) in xmlTextReaderSetup()
5226 reader->buffer = xmlBufCreateSize(100); in xmlTextReaderSetup()
5227 if (reader->buffer == NULL) { in xmlTextReaderSetup()
5233 xmlBufSetAllocationScheme(reader->buffer, in xmlTextReaderSetup()
5235 if (reader->sax == NULL) in xmlTextReaderSetup()
5236 reader->sax = (xmlSAXHandler *) xmlMalloc(sizeof(xmlSAXHandler)); in xmlTextReaderSetup()
5237 if (reader->sax == NULL) { in xmlTextReaderSetup()
5242 xmlSAXVersion(reader->sax, 2); in xmlTextReaderSetup()
5243 reader->startElement = reader->sax->startElement; in xmlTextReaderSetup()
5244 reader->sax->startElement = xmlTextReaderStartElement; in xmlTextReaderSetup()
5245 reader->endElement = reader->sax->endElement; in xmlTextReaderSetup()
5246 reader->sax->endElement = xmlTextReaderEndElement; in xmlTextReaderSetup()
5248 if (reader->sax->initialized == XML_SAX2_MAGIC) { in xmlTextReaderSetup()
5250 reader->startElementNs = reader->sax->startElementNs; in xmlTextReaderSetup()
5251 reader->sax->startElementNs = xmlTextReaderStartElementNs; in xmlTextReaderSetup()
5252 reader->endElementNs = reader->sax->endElementNs; in xmlTextReaderSetup()
5253 reader->sax->endElementNs = xmlTextReaderEndElementNs; in xmlTextReaderSetup()
5256 reader->startElementNs = NULL; in xmlTextReaderSetup()
5257 reader->endElementNs = NULL; in xmlTextReaderSetup()
5260 reader->characters = reader->sax->characters; in xmlTextReaderSetup()
5261 reader->sax->characters = xmlTextReaderCharacters; in xmlTextReaderSetup()
5262 reader->sax->ignorableWhitespace = xmlTextReaderCharacters; in xmlTextReaderSetup()
5263 reader->cdataBlock = reader->sax->cdataBlock; in xmlTextReaderSetup()
5264 reader->sax->cdataBlock = xmlTextReaderCDataBlock; in xmlTextReaderSetup()
5266 reader->mode = XML_TEXTREADER_MODE_INITIAL; in xmlTextReaderSetup()
5267 reader->node = NULL; in xmlTextReaderSetup()
5268 reader->curnode = NULL; in xmlTextReaderSetup()
5270 if (xmlBufUse(reader->input->buffer) < 4) { in xmlTextReaderSetup()
5273 if (reader->ctxt == NULL) { in xmlTextReaderSetup()
5274 if (xmlBufUse(reader->input->buffer) >= 4) { in xmlTextReaderSetup()
5275 reader->ctxt = xmlCreatePushParserCtxt(reader->sax, NULL, in xmlTextReaderSetup()
5276 (const char *) xmlBufContent(reader->input->buffer), in xmlTextReaderSetup()
5278 reader->base = 0; in xmlTextReaderSetup()
5279 reader->cur = 4; in xmlTextReaderSetup()
5281 reader->ctxt = in xmlTextReaderSetup()
5282 xmlCreatePushParserCtxt(reader->sax, NULL, NULL, 0, URL); in xmlTextReaderSetup()
5283 reader->base = 0; in xmlTextReaderSetup()
5284 reader->cur = 0; in xmlTextReaderSetup()
5291 xmlCtxtReset(reader->ctxt); in xmlTextReaderSetup()
5294 inputStream = xmlNewInputStream(reader->ctxt); in xmlTextReaderSetup()
5308 inputPush(reader->ctxt, inputStream); in xmlTextReaderSetup()
5309 reader->cur = 0; in xmlTextReaderSetup()
5311 if (reader->ctxt == NULL) { in xmlTextReaderSetup()
5317 if (reader->dict != NULL) { in xmlTextReaderSetup()
5318 if (reader->ctxt->dict != NULL) { in xmlTextReaderSetup()
5319 if (reader->dict != reader->ctxt->dict) { in xmlTextReaderSetup()
5320 xmlDictFree(reader->dict); in xmlTextReaderSetup()
5321 reader->dict = reader->ctxt->dict; in xmlTextReaderSetup()
5324 reader->ctxt->dict = reader->dict; in xmlTextReaderSetup()
5327 if (reader->ctxt->dict == NULL) in xmlTextReaderSetup()
5328 reader->ctxt->dict = xmlDictCreate(); in xmlTextReaderSetup()
5329 reader->dict = reader->ctxt->dict; in xmlTextReaderSetup()
5331 reader->ctxt->_private = reader; in xmlTextReaderSetup()
5332 reader->ctxt->linenumbers = 1; in xmlTextReaderSetup()
5333 reader->ctxt->dictNames = 1; in xmlTextReaderSetup()
5337 reader->ctxt->docdict = 1; in xmlTextReaderSetup()
5338 reader->ctxt->parseMode = XML_PARSE_READER; in xmlTextReaderSetup()
5341 if (reader->xincctxt != NULL) { in xmlTextReaderSetup()
5342 xmlXIncludeFreeContext(reader->xincctxt); in xmlTextReaderSetup()
5343 reader->xincctxt = NULL; in xmlTextReaderSetup()
5346 reader->xinclude = 1; in xmlTextReaderSetup()
5347 reader->xinclude_name = xmlDictLookup(reader->dict, XINCLUDE_NODE, -1); in xmlTextReaderSetup()
5350 reader->xinclude = 0; in xmlTextReaderSetup()
5351 reader->in_xinclude = 0; in xmlTextReaderSetup()
5354 if (reader->patternTab == NULL) { in xmlTextReaderSetup()
5355 reader->patternNr = 0; in xmlTextReaderSetup()
5356 reader->patternMax = 0; in xmlTextReaderSetup()
5358 while (reader->patternNr > 0) { in xmlTextReaderSetup()
5359 reader->patternNr--; in xmlTextReaderSetup()
5360 if (reader->patternTab[reader->patternNr] != NULL) { in xmlTextReaderSetup()
5361 xmlFreePattern(reader->patternTab[reader->patternNr]); in xmlTextReaderSetup()
5362 reader->patternTab[reader->patternNr] = NULL; in xmlTextReaderSetup()
5368 reader->validate = XML_TEXTREADER_VALIDATE_DTD; in xmlTextReaderSetup()
5370 xmlCtxtUseOptions(reader->ctxt, options); in xmlTextReaderSetup()
5376 xmlSwitchToEncoding(reader->ctxt, hdlr); in xmlTextReaderSetup()
5378 if ((URL != NULL) && (reader->ctxt->input != NULL) && in xmlTextReaderSetup()
5379 (reader->ctxt->input->filename == NULL)) in xmlTextReaderSetup()
5380 reader->ctxt->input->filename = (char *) in xmlTextReaderSetup()
5383 reader->doc = NULL; in xmlTextReaderSetup()
5402 xmlTextReaderByteConsumed(xmlTextReaderPtr reader) { in xmlTextReaderByteConsumed() argument
5403 if ((reader == NULL) || (reader->ctxt == NULL)) in xmlTextReaderByteConsumed()
5405 return(xmlByteConsumed(reader->ctxt)); in xmlTextReaderByteConsumed()
5486 xmlTextReaderPtr reader; in xmlReaderForFile() local
5488 reader = xmlNewTextReaderFilename(filename); in xmlReaderForFile()
5489 if (reader == NULL) in xmlReaderForFile()
5491 xmlTextReaderSetup(reader, NULL, NULL, encoding, options); in xmlReaderForFile()
5492 return (reader); in xmlReaderForFile()
5512 xmlTextReaderPtr reader; in xmlReaderForMemory() local
5520 reader = xmlNewTextReader(buf, URL); in xmlReaderForMemory()
5521 if (reader == NULL) { in xmlReaderForMemory()
5525 reader->allocs |= XML_TEXTREADER_INPUT; in xmlReaderForMemory()
5526 xmlTextReaderSetup(reader, NULL, URL, encoding, options); in xmlReaderForMemory()
5527 return (reader); in xmlReaderForMemory()
5547 xmlTextReaderPtr reader; in xmlReaderForFd() local
5557 reader = xmlNewTextReader(input, URL); in xmlReaderForFd()
5558 if (reader == NULL) { in xmlReaderForFd()
5562 reader->allocs |= XML_TEXTREADER_INPUT; in xmlReaderForFd()
5563 xmlTextReaderSetup(reader, NULL, URL, encoding, options); in xmlReaderForFd()
5564 return (reader); in xmlReaderForFd()
5586 xmlTextReaderPtr reader; in xmlReaderForIO() local
5599 reader = xmlNewTextReader(input, URL); in xmlReaderForIO()
5600 if (reader == NULL) { in xmlReaderForIO()
5604 reader->allocs |= XML_TEXTREADER_INPUT; in xmlReaderForIO()
5605 xmlTextReaderSetup(reader, NULL, URL, encoding, options); in xmlReaderForIO()
5606 return (reader); in xmlReaderForIO()
5620 xmlReaderNewWalker(xmlTextReaderPtr reader, xmlDocPtr doc) in xmlReaderNewWalker() argument
5624 if (reader == NULL) in xmlReaderNewWalker()
5627 if (reader->input != NULL) { in xmlReaderNewWalker()
5628 xmlFreeParserInputBuffer(reader->input); in xmlReaderNewWalker()
5630 if (reader->ctxt != NULL) { in xmlReaderNewWalker()
5631 xmlCtxtReset(reader->ctxt); in xmlReaderNewWalker()
5634 reader->entNr = 0; in xmlReaderNewWalker()
5635 reader->input = NULL; in xmlReaderNewWalker()
5636 reader->mode = XML_TEXTREADER_MODE_INITIAL; in xmlReaderNewWalker()
5637 reader->node = NULL; in xmlReaderNewWalker()
5638 reader->curnode = NULL; in xmlReaderNewWalker()
5639 reader->base = 0; in xmlReaderNewWalker()
5640 reader->cur = 0; in xmlReaderNewWalker()
5641 reader->allocs = XML_TEXTREADER_CTXT; in xmlReaderNewWalker()
5642 reader->doc = doc; in xmlReaderNewWalker()
5643 reader->state = XML_TEXTREADER_START; in xmlReaderNewWalker()
5644 if (reader->dict == NULL) { in xmlReaderNewWalker()
5645 if ((reader->ctxt != NULL) && (reader->ctxt->dict != NULL)) in xmlReaderNewWalker()
5646 reader->dict = reader->ctxt->dict; in xmlReaderNewWalker()
5648 reader->dict = xmlDictCreate(); in xmlReaderNewWalker()
5668 xmlReaderNewDoc(xmlTextReaderPtr reader, const xmlChar * cur, in xmlReaderNewDoc() argument
5676 if (reader == NULL) in xmlReaderNewDoc()
5680 return (xmlReaderNewMemory(reader, (const char *)cur, len, in xmlReaderNewDoc()
5698 xmlReaderNewFile(xmlTextReaderPtr reader, const char *filename, in xmlReaderNewFile() argument
5705 if (reader == NULL) in xmlReaderNewFile()
5713 return (xmlTextReaderSetup(reader, input, filename, encoding, options)); in xmlReaderNewFile()
5732 xmlReaderNewMemory(xmlTextReaderPtr reader, const char *buffer, int size, in xmlReaderNewMemory() argument
5737 if (reader == NULL) in xmlReaderNewMemory()
5747 return (xmlTextReaderSetup(reader, input, URL, encoding, options)); in xmlReaderNewMemory()
5767 xmlReaderNewFd(xmlTextReaderPtr reader, int fd, in xmlReaderNewFd() argument
5774 if (reader == NULL) in xmlReaderNewFd()
5781 return (xmlTextReaderSetup(reader, input, URL, encoding, options)); in xmlReaderNewFd()
5802 xmlReaderNewIO(xmlTextReaderPtr reader, xmlInputReadCallback ioread, in xmlReaderNewIO() argument
5810 if (reader == NULL) in xmlReaderNewIO()
5820 return (xmlTextReaderSetup(reader, input, URL, encoding, options)); in xmlReaderNewIO()