MCPcopy Create free account
hub / github.com/Kitware/VTK / xmlTextReaderRead

Function xmlTextReaderRead

ThirdParty/libxml2/vtklibxml2/xmlreader.c:1196–1539  ·  view source on GitHub ↗

* xmlTextReaderRead: * @reader: the xmlTextReaderPtr used * * Moves the position of the current instance to the next node in * the stream, exposing its properties. * * Returns 1 if the node was read successfully, 0 if there is no more * nodes to read, or -1 in case of error */

Source from the content-addressed store, hash-verified

1194 * nodes to read, or -1 in case of error
1195 */
1196int
1197xmlTextReaderRead(xmlTextReaderPtr reader) {
1198 int val, olddepth = 0;
1199 xmlTextReaderState oldstate = XML_TEXTREADER_START;
1200 xmlNodePtr oldnode = NULL;
1201
1202 if (reader == NULL)
1203 return(-1);
1204 if (reader->state == XML_TEXTREADER_ERROR)
1205 return(-1);
1206
1207 reader->curnode = NULL;
1208 if (reader->doc != NULL)
1209 return(xmlTextReaderReadTree(reader));
1210 if (reader->ctxt == NULL)
1211 return(-1);
1212
1213 if (reader->mode == XML_TEXTREADER_MODE_INITIAL) {
1214 reader->mode = XML_TEXTREADER_MODE_INTERACTIVE;
1215 /*
1216 * Initial state
1217 */
1218 do {
1219 val = xmlTextReaderPushData(reader);
1220 if (val < 0) {
1221 reader->mode = XML_TEXTREADER_MODE_ERROR;
1222 reader->state = XML_TEXTREADER_ERROR;
1223 return(-1);
1224 }
1225 } while ((reader->ctxt->node == NULL) &&
1226 ((reader->mode != XML_TEXTREADER_MODE_EOF) &&
1227 (reader->state != XML_TEXTREADER_DONE)));
1228 if (reader->ctxt->node == NULL) {
1229 if (reader->ctxt->myDoc != NULL) {
1230 reader->node = reader->ctxt->myDoc->children;
1231 }
1232 if (reader->node == NULL) {
1233 reader->mode = XML_TEXTREADER_MODE_ERROR;
1234 reader->state = XML_TEXTREADER_ERROR;
1235 return(-1);
1236 }
1237 reader->state = XML_TEXTREADER_ELEMENT;
1238 } else {
1239 if (reader->ctxt->myDoc != NULL) {
1240 reader->node = reader->ctxt->myDoc->children;
1241 }
1242 if (reader->node == NULL)
1243 reader->node = reader->ctxt->nodeTab[0];
1244 reader->state = XML_TEXTREADER_ELEMENT;
1245 }
1246 reader->depth = 0;
1247 reader->ctxt->parseMode = XML_PARSE_READER;
1248 goto node_found;
1249 }
1250 oldstate = reader->state;
1251 olddepth = reader->ctxt->nodeNr;
1252 oldnode = reader->node;
1253

Callers 7

streamFileFunction · 0.85
walkDocFunction · 0.85
xmlTextReaderNextFunction · 0.85
xmlTextReaderNextTreeFunction · 0.85
xmlSchemaVReaderWalkFunction · 0.85
streamProcessTestFunction · 0.85
patternTestFunction · 0.85

Calls 15

xmlTextReaderReadTreeFunction · 0.85
xmlTextReaderPushDataFunction · 0.85
xmlTextReaderValidatePopFunction · 0.85
xmlUnlinkNodeFunction · 0.85
xmlTextReaderFreeNodeFunction · 0.85
xmlParseChunkFunction · 0.85
xmlTextReaderExpandFunction · 0.85
xmlStrEqualFunction · 0.85
xmlXIncludeNewContextFunction · 0.85
xmlTextReaderErrMemoryFunction · 0.85
xmlXIncludeSetFlagsFunction · 0.85

Tested by 2

streamProcessTestFunction · 0.68
patternTestFunction · 0.68