}
else if (myTagPerStep && aHasRead)
{
+ // in myTagPerStep mode, we should parse the buffer to the end before
+ // getting more characters from the stream.
}
else
{
aState = STATE_TEXT;
aStartData = myPtr;
myPtr = myEndPtr;
+ aHasRead = Standard_False;
} // end of checking in STATE_WAITING
continue;
return XML_HEADER;
}
myPtr = myEndPtr - 1;
+ aHasRead = Standard_False;
continue;
// Checking the characters in STATE_DOCTYPE, seek for "]>" sequence
}
}
myPtr = myEndPtr - 1;
+ aHasRead = Standard_False;
continue;
state_doctype_markup:
return XML_DOCTYPE;
}
myPtr = myEndPtr - 1;
+ aHasRead = Standard_False;
continue;
// Checking the characters in STATE_COMMENT, seek for "-->" sequence
}
}
myPtr = myEndPtr - 2;
+ aHasRead = Standard_False;
continue;
// Checking the characters in STATE_TEXT, seek for "<"
return XML_TEXT;
}
myPtr = myEndPtr;
+ aHasRead = Standard_False;
continue;
// Checking the characters in STATE_CDATA, seek for "]]"
return XML_CDATA;
}
myPtr = myEndPtr - 1;
+ aHasRead = Standard_False;
continue;
// Checking the characters in STATE_ELEMENT, seek the end of TagName
myPtr = aPtr + 1;
aStartData = NULL;
aState = STATE_ATTRIBUTE_NAME;
- } else
+ }
+ else {
myPtr = myEndPtr;
+ aHasRead = Standard_False;
+ }
continue;
}
// Checking the characters in STATE_ELEMENT_END, seek for ">"
return XML_END_ELEMENT;
}
myPtr = myEndPtr;
+ aHasRead = Standard_False;
continue;
}
}