[YANGTOOLS-962] Rework XmlParserStream to eliminate unneeded buffering Created: 05/Mar/19 Updated: 05/Mar/19 |
|
| Status: | Confirmed |
| Project: | yangtools |
| Component/s: | codecs |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Medium |
| Reporter: | Robert Varga | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Current XML parser, while an improvement over what we had originally, still is not "streaming enough", notably it performs eager attribute scans and intermediate buffering nodes. Furthermore it seems that the parser does not correctly handle interleaved siblings, as the required buffering seems to be missing. Finally, the logic in read() looks it could use a type-safety dispatch, as we have mutually-exclusive handling for most cases, where the caller would know which branch to take. |