Вы могли бы написать некую форму хранилища истории, чтобы она содержала структуру вплоть до точки, которую вы проанализировали; однако я подозреваю, что для продолжения анализа с этого момента вам придется отключить все формы проверки вашего синтаксического анализатора - XML предназначен для гарантии структуры и содержимого документа с головы до ног; он не предназначен для специального анализа.
В вашем случае вы все равно должны быть в состоянии предоставить некоторую форму контекста - возможно, сохраняя текущее дерево рабочих элементов в памяти, объединяя его с соответствующей информацией заголовка и анализируя, как будто вы начинаете заново с новым файл; отправка только оставшегося содержимого вместо всего файла.
например, с учетом структуры XML:
<root>
<child id="1">
<subchild id="1'/>
</child>
<child id="2'>
<subchild id="2"/>
<subchild id="3"/>
<child/>
Если ваш синтаксический анализатор падает после анализа <child id="1"/>
, вам нужно создать новый псевдодокументант, содержащий элемент <root>
, а также учесть тот факт, что вы уже проанализировали дочерний элемент 1 при возобновлении обработки - в случае, если любых проблем с зависимостями.